Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
io.github.primelib.jira4j.restv3.api.JiraRESTV3AsyncApi Maven / Gradle / Ivy
package io.github.primelib.jira4j.restv3.api;
import java.util.List;
import java.util.Map;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.annotation.processing.Generated;
import io.github.primelib.jira4j.restv3.model.ActorInputBean;
import io.github.primelib.jira4j.restv3.model.ActorsMap;
import io.github.primelib.jira4j.restv3.model.AddFieldBean;
import io.github.primelib.jira4j.restv3.model.AddGroupBean;
import io.github.primelib.jira4j.restv3.model.AddNotificationsDetails;
import io.github.primelib.jira4j.restv3.model.AddSecuritySchemeLevelsRequestBean;
import io.github.primelib.jira4j.restv3.model.AnnouncementBannerConfiguration;
import io.github.primelib.jira4j.restv3.model.AnnouncementBannerConfigurationUpdate;
import io.github.primelib.jira4j.restv3.model.ApplicationProperty;
import io.github.primelib.jira4j.restv3.model.ApplicationRole;
import io.github.primelib.jira4j.restv3.model.ArchiveIssueAsyncRequest;
import io.github.primelib.jira4j.restv3.model.ArchivedIssuesFilterRequest;
import io.github.primelib.jira4j.restv3.model.AssociateFieldConfigurationsWithIssueTypesRequest;
import io.github.primelib.jira4j.restv3.model.AssociateSecuritySchemeWithProjectDetails;
import io.github.primelib.jira4j.restv3.model.Attachment;
import io.github.primelib.jira4j.restv3.model.AttachmentArchiveImpl;
import io.github.primelib.jira4j.restv3.model.AttachmentArchiveMetadataReadable;
import io.github.primelib.jira4j.restv3.model.AttachmentMetadata;
import io.github.primelib.jira4j.restv3.model.AttachmentSettings;
import io.github.primelib.jira4j.restv3.model.AuditRecords;
import io.github.primelib.jira4j.restv3.model.AutoCompleteSuggestions;
import io.github.primelib.jira4j.restv3.model.AvailableDashboardGadgetsResponse;
import io.github.primelib.jira4j.restv3.model.Avatar;
import io.github.primelib.jira4j.restv3.model.Avatars;
import io.github.primelib.jira4j.restv3.model.BulkCustomFieldOptionCreateRequest;
import io.github.primelib.jira4j.restv3.model.BulkCustomFieldOptionUpdateRequest;
import io.github.primelib.jira4j.restv3.model.BulkEditShareableEntityRequest;
import io.github.primelib.jira4j.restv3.model.BulkEditShareableEntityResponse;
import io.github.primelib.jira4j.restv3.model.BulkIssueIsWatching;
import io.github.primelib.jira4j.restv3.model.BulkIssuePropertyUpdateRequest;
import io.github.primelib.jira4j.restv3.model.BulkPermissionGrants;
import io.github.primelib.jira4j.restv3.model.BulkPermissionsRequestBean;
import io.github.primelib.jira4j.restv3.model.ChangeFilterOwner;
import io.github.primelib.jira4j.restv3.model.ChangedWorklogs;
import io.github.primelib.jira4j.restv3.model.ColumnItem;
import io.github.primelib.jira4j.restv3.model.ColumnRequestBody;
import io.github.primelib.jira4j.restv3.model.Comment;
import io.github.primelib.jira4j.restv3.model.ComponentIssuesCount;
import io.github.primelib.jira4j.restv3.model.Configuration;
import io.github.primelib.jira4j.restv3.model.ConnectCustomFieldValues;
import io.github.primelib.jira4j.restv3.model.ConnectModules;
import io.github.primelib.jira4j.restv3.model.ContainerForProjectFeatures;
import io.github.primelib.jira4j.restv3.model.ContainerForRegisteredWebhooks;
import io.github.primelib.jira4j.restv3.model.ContainerForWebhookIDs;
import io.github.primelib.jira4j.restv3.model.ContainerOfWorkflowSchemeAssociations;
import io.github.primelib.jira4j.restv3.model.ConvertedJQLQueries;
import io.github.primelib.jira4j.restv3.model.CreateCustomFieldContext;
import io.github.primelib.jira4j.restv3.model.CreateIssueSecuritySchemeDetails;
import io.github.primelib.jira4j.restv3.model.CreateNotificationSchemeDetails;
import io.github.primelib.jira4j.restv3.model.CreatePriorityDetails;
import io.github.primelib.jira4j.restv3.model.CreateProjectDetails;
import io.github.primelib.jira4j.restv3.model.CreateResolutionDetails;
import io.github.primelib.jira4j.restv3.model.CreateUiModificationDetails;
import io.github.primelib.jira4j.restv3.model.CreateUpdateRoleRequestBean;
import io.github.primelib.jira4j.restv3.model.CreateWorkflowDetails;
import io.github.primelib.jira4j.restv3.model.CreatedIssue;
import io.github.primelib.jira4j.restv3.model.CreatedIssues;
import io.github.primelib.jira4j.restv3.model.CustomFieldConfigurations;
import io.github.primelib.jira4j.restv3.model.CustomFieldContextDefaultValueUpdate;
import io.github.primelib.jira4j.restv3.model.CustomFieldContextUpdateDetails;
import io.github.primelib.jira4j.restv3.model.CustomFieldCreatedContextOptionsList;
import io.github.primelib.jira4j.restv3.model.CustomFieldDefinitionJsonBean;
import io.github.primelib.jira4j.restv3.model.CustomFieldOption;
import io.github.primelib.jira4j.restv3.model.CustomFieldUpdatedContextOptionsList;
import io.github.primelib.jira4j.restv3.model.CustomFieldValueUpdateDetails;
import io.github.primelib.jira4j.restv3.model.Dashboard;
import io.github.primelib.jira4j.restv3.model.DashboardDetails;
import io.github.primelib.jira4j.restv3.model.DashboardGadget;
import io.github.primelib.jira4j.restv3.model.DashboardGadgetResponse;
import io.github.primelib.jira4j.restv3.model.DashboardGadgetSettings;
import io.github.primelib.jira4j.restv3.model.DashboardGadgetUpdateRequest;
import io.github.primelib.jira4j.restv3.model.DefaultShareScope;
import io.github.primelib.jira4j.restv3.model.DefaultWorkflow;
import io.github.primelib.jira4j.restv3.model.DeleteAndReplaceVersionBean;
import io.github.primelib.jira4j.restv3.model.DeprecatedWorkflow;
import io.github.primelib.jira4j.restv3.model.EntityProperty;
import io.github.primelib.jira4j.restv3.model.EntityPropertyDetails;
import io.github.primelib.jira4j.restv3.model.ErrorCollection;
import io.github.primelib.jira4j.restv3.model.ExportArchivedIssuesTaskProgressResponse;
import io.github.primelib.jira4j.restv3.model.FailedWebhooks;
import io.github.primelib.jira4j.restv3.model.FieldConfiguration;
import io.github.primelib.jira4j.restv3.model.FieldConfigurationDetails;
import io.github.primelib.jira4j.restv3.model.FieldConfigurationItemsDetails;
import io.github.primelib.jira4j.restv3.model.FieldConfigurationScheme;
import io.github.primelib.jira4j.restv3.model.FieldConfigurationSchemeProjectAssociation;
import io.github.primelib.jira4j.restv3.model.FieldDetails;
import io.github.primelib.jira4j.restv3.model.Filter;
import io.github.primelib.jira4j.restv3.model.FoundGroups;
import io.github.primelib.jira4j.restv3.model.FoundUsers;
import io.github.primelib.jira4j.restv3.model.FoundUsersAndGroups;
import io.github.primelib.jira4j.restv3.model.GetWorkflowTransitionRuleConfigurationsRequest;
import io.github.primelib.jira4j.restv3.model.Group;
import io.github.primelib.jira4j.restv3.model.GroupName;
import io.github.primelib.jira4j.restv3.model.IdBean;
import io.github.primelib.jira4j.restv3.model.IssueArchivalSyncRequest;
import io.github.primelib.jira4j.restv3.model.IssueArchivalSyncResponse;
import io.github.primelib.jira4j.restv3.model.IssueBean;
import io.github.primelib.jira4j.restv3.model.IssueChangelogIds;
import io.github.primelib.jira4j.restv3.model.IssueCommentListRequestBean;
import io.github.primelib.jira4j.restv3.model.IssueCreateMetadata;
import io.github.primelib.jira4j.restv3.model.IssueEntityProperties;
import io.github.primelib.jira4j.restv3.model.IssueEvent;
import io.github.primelib.jira4j.restv3.model.IssueFieldOption;
import io.github.primelib.jira4j.restv3.model.IssueFieldOptionCreateBean;
import io.github.primelib.jira4j.restv3.model.IssueFilterForBulkPropertyDelete;
import io.github.primelib.jira4j.restv3.model.IssueLink;
import io.github.primelib.jira4j.restv3.model.IssueLinkType;
import io.github.primelib.jira4j.restv3.model.IssueLinkTypes;
import io.github.primelib.jira4j.restv3.model.IssueList;
import io.github.primelib.jira4j.restv3.model.IssueMatches;
import io.github.primelib.jira4j.restv3.model.IssuePickerSuggestions;
import io.github.primelib.jira4j.restv3.model.IssueTypeCreateBean;
import io.github.primelib.jira4j.restv3.model.IssueTypeDetails;
import io.github.primelib.jira4j.restv3.model.IssueTypeIds;
import io.github.primelib.jira4j.restv3.model.IssueTypeIdsToRemove;
import io.github.primelib.jira4j.restv3.model.IssueTypeSchemeDetails;
import io.github.primelib.jira4j.restv3.model.IssueTypeSchemeID;
import io.github.primelib.jira4j.restv3.model.IssueTypeSchemeProjectAssociation;
import io.github.primelib.jira4j.restv3.model.IssueTypeSchemeUpdateDetails;
import io.github.primelib.jira4j.restv3.model.IssueTypeScreenSchemeDetails;
import io.github.primelib.jira4j.restv3.model.IssueTypeScreenSchemeId;
import io.github.primelib.jira4j.restv3.model.IssueTypeScreenSchemeMappingDetails;
import io.github.primelib.jira4j.restv3.model.IssueTypeScreenSchemeProjectAssociation;
import io.github.primelib.jira4j.restv3.model.IssueTypeScreenSchemeUpdateDetails;
import io.github.primelib.jira4j.restv3.model.IssueTypeUpdateBean;
import io.github.primelib.jira4j.restv3.model.IssueTypeWithStatus;
import io.github.primelib.jira4j.restv3.model.IssueTypeWorkflowMapping;
import io.github.primelib.jira4j.restv3.model.IssueTypesWorkflowMapping;
import io.github.primelib.jira4j.restv3.model.IssueUpdateDetails;
import io.github.primelib.jira4j.restv3.model.IssueUpdateMetadata;
import io.github.primelib.jira4j.restv3.model.IssuesAndJQLQueries;
import io.github.primelib.jira4j.restv3.model.IssuesUpdateBean;
import io.github.primelib.jira4j.restv3.model.JQLPersonalDataMigrationRequest;
import io.github.primelib.jira4j.restv3.model.JQLReferenceData;
import io.github.primelib.jira4j.restv3.model.JiraExpressionEvalRequestBean;
import io.github.primelib.jira4j.restv3.model.JiraExpressionForAnalysis;
import io.github.primelib.jira4j.restv3.model.JiraExpressionResult;
import io.github.primelib.jira4j.restv3.model.JiraExpressionsAnalysis;
import io.github.primelib.jira4j.restv3.model.JiraStatus;
import io.github.primelib.jira4j.restv3.model.JqlFunctionPrecomputationUpdateRequestBean;
import io.github.primelib.jira4j.restv3.model.JqlQueriesToParse;
import io.github.primelib.jira4j.restv3.model.JqlQueriesToSanitize;
import io.github.primelib.jira4j.restv3.model.License;
import io.github.primelib.jira4j.restv3.model.LicenseMetric;
import io.github.primelib.jira4j.restv3.model.LinkIssueRequestJsonBean;
import io.github.primelib.jira4j.restv3.model.Locale;
import io.github.primelib.jira4j.restv3.model.MoveFieldBean;
import io.github.primelib.jira4j.restv3.model.MultiIssueEntityProperties;
import io.github.primelib.jira4j.restv3.model.MultipleCustomFieldValuesUpdateDetails;
import io.github.primelib.jira4j.restv3.model.NewUserDetails;
import io.github.primelib.jira4j.restv3.model.Notification;
import io.github.primelib.jira4j.restv3.model.NotificationScheme;
import io.github.primelib.jira4j.restv3.model.NotificationSchemeId;
import io.github.primelib.jira4j.restv3.model.OperationMessage;
import io.github.primelib.jira4j.restv3.model.OrderOfCustomFieldOptions;
import io.github.primelib.jira4j.restv3.model.OrderOfIssueTypes;
import io.github.primelib.jira4j.restv3.model.PageBeanChangelog;
import io.github.primelib.jira4j.restv3.model.PageBeanComment;
import io.github.primelib.jira4j.restv3.model.PageBeanComponentWithIssueCount;
import io.github.primelib.jira4j.restv3.model.PageBeanContext;
import io.github.primelib.jira4j.restv3.model.PageBeanContextForProjectAndIssueType;
import io.github.primelib.jira4j.restv3.model.PageBeanContextualConfiguration;
import io.github.primelib.jira4j.restv3.model.PageBeanCustomFieldContext;
import io.github.primelib.jira4j.restv3.model.PageBeanCustomFieldContextDefaultValue;
import io.github.primelib.jira4j.restv3.model.PageBeanCustomFieldContextOption;
import io.github.primelib.jira4j.restv3.model.PageBeanCustomFieldContextProjectMapping;
import io.github.primelib.jira4j.restv3.model.PageBeanDashboard;
import io.github.primelib.jira4j.restv3.model.PageBeanField;
import io.github.primelib.jira4j.restv3.model.PageBeanFieldConfigurationDetails;
import io.github.primelib.jira4j.restv3.model.PageBeanFieldConfigurationIssueTypeItem;
import io.github.primelib.jira4j.restv3.model.PageBeanFieldConfigurationItem;
import io.github.primelib.jira4j.restv3.model.PageBeanFieldConfigurationScheme;
import io.github.primelib.jira4j.restv3.model.PageBeanFieldConfigurationSchemeProjects;
import io.github.primelib.jira4j.restv3.model.PageBeanFilterDetails;
import io.github.primelib.jira4j.restv3.model.PageBeanGroupDetails;
import io.github.primelib.jira4j.restv3.model.PageBeanIssueFieldOption;
import io.github.primelib.jira4j.restv3.model.PageBeanIssueSecurityLevelMember;
import io.github.primelib.jira4j.restv3.model.PageBeanIssueSecuritySchemeToProjectMapping;
import io.github.primelib.jira4j.restv3.model.PageBeanIssueTypeScheme;
import io.github.primelib.jira4j.restv3.model.PageBeanIssueTypeSchemeMapping;
import io.github.primelib.jira4j.restv3.model.PageBeanIssueTypeSchemeProjects;
import io.github.primelib.jira4j.restv3.model.PageBeanIssueTypeScreenScheme;
import io.github.primelib.jira4j.restv3.model.PageBeanIssueTypeScreenSchemeItem;
import io.github.primelib.jira4j.restv3.model.PageBeanIssueTypeScreenSchemesProjects;
import io.github.primelib.jira4j.restv3.model.PageBeanIssueTypeToContextMapping;
import io.github.primelib.jira4j.restv3.model.PageBeanJqlFunctionPrecomputationBean;
import io.github.primelib.jira4j.restv3.model.PageBeanNotificationScheme;
import io.github.primelib.jira4j.restv3.model.PageBeanNotificationSchemeAndProjectMappingJsonBean;
import io.github.primelib.jira4j.restv3.model.PageBeanPriority;
import io.github.primelib.jira4j.restv3.model.PageBeanProject;
import io.github.primelib.jira4j.restv3.model.PageBeanProjectDetails;
import io.github.primelib.jira4j.restv3.model.PageBeanResolutionJsonBean;
import io.github.primelib.jira4j.restv3.model.PageBeanScreen;
import io.github.primelib.jira4j.restv3.model.PageBeanScreenScheme;
import io.github.primelib.jira4j.restv3.model.PageBeanScreenWithTab;
import io.github.primelib.jira4j.restv3.model.PageBeanSecurityLevel;
import io.github.primelib.jira4j.restv3.model.PageBeanSecurityLevelMember;
import io.github.primelib.jira4j.restv3.model.PageBeanSecuritySchemeWithProjects;
import io.github.primelib.jira4j.restv3.model.PageBeanString;
import io.github.primelib.jira4j.restv3.model.PageBeanUiModificationDetails;
import io.github.primelib.jira4j.restv3.model.PageBeanUser;
import io.github.primelib.jira4j.restv3.model.PageBeanUserDetails;
import io.github.primelib.jira4j.restv3.model.PageBeanUserKey;
import io.github.primelib.jira4j.restv3.model.PageBeanVersion;
import io.github.primelib.jira4j.restv3.model.PageBeanWebhook;
import io.github.primelib.jira4j.restv3.model.PageBeanWorkflow;
import io.github.primelib.jira4j.restv3.model.PageBeanWorkflowScheme;
import io.github.primelib.jira4j.restv3.model.PageBeanWorkflowTransitionRules;
import io.github.primelib.jira4j.restv3.model.PageOfChangelogs;
import io.github.primelib.jira4j.restv3.model.PageOfComments;
import io.github.primelib.jira4j.restv3.model.PageOfCreateMetaIssueTypeWithField;
import io.github.primelib.jira4j.restv3.model.PageOfCreateMetaIssueTypes;
import io.github.primelib.jira4j.restv3.model.PageOfDashboards;
import io.github.primelib.jira4j.restv3.model.PageOfStatuses;
import io.github.primelib.jira4j.restv3.model.PageOfWorklogs;
import io.github.primelib.jira4j.restv3.model.ParsedJqlQueries;
import io.github.primelib.jira4j.restv3.model.PermissionGrant;
import io.github.primelib.jira4j.restv3.model.PermissionGrants;
import io.github.primelib.jira4j.restv3.model.PermissionScheme;
import io.github.primelib.jira4j.restv3.model.PermissionSchemes;
import io.github.primelib.jira4j.restv3.model.Permissions;
import io.github.primelib.jira4j.restv3.model.PermissionsKeysBean;
import io.github.primelib.jira4j.restv3.model.PermittedProjects;
import io.github.primelib.jira4j.restv3.model.Priority;
import io.github.primelib.jira4j.restv3.model.PriorityId;
import io.github.primelib.jira4j.restv3.model.Project;
import io.github.primelib.jira4j.restv3.model.ProjectAvatars;
import io.github.primelib.jira4j.restv3.model.ProjectCategory;
import io.github.primelib.jira4j.restv3.model.ProjectComponent;
import io.github.primelib.jira4j.restv3.model.ProjectEmailAddress;
import io.github.primelib.jira4j.restv3.model.ProjectFeatureState;
import io.github.primelib.jira4j.restv3.model.ProjectIdentifiers;
import io.github.primelib.jira4j.restv3.model.ProjectIds;
import io.github.primelib.jira4j.restv3.model.ProjectIssueSecurityLevels;
import io.github.primelib.jira4j.restv3.model.ProjectIssueTypeHierarchy;
import io.github.primelib.jira4j.restv3.model.ProjectIssueTypeMappings;
import io.github.primelib.jira4j.restv3.model.ProjectRole;
import io.github.primelib.jira4j.restv3.model.ProjectRoleActorsUpdateBean;
import io.github.primelib.jira4j.restv3.model.ProjectRoleDetails;
import io.github.primelib.jira4j.restv3.model.ProjectType;
import io.github.primelib.jira4j.restv3.model.PropertyKeys;
import io.github.primelib.jira4j.restv3.model.PublishDraftWorkflowScheme;
import io.github.primelib.jira4j.restv3.model.RemoteIssueLink;
import io.github.primelib.jira4j.restv3.model.RemoteIssueLinkIdentifies;
import io.github.primelib.jira4j.restv3.model.RemoteIssueLinkRequest;
import io.github.primelib.jira4j.restv3.model.ReorderIssuePriorities;
import io.github.primelib.jira4j.restv3.model.ReorderIssueResolutionsRequest;
import io.github.primelib.jira4j.restv3.model.Resolution;
import io.github.primelib.jira4j.restv3.model.ResolutionId;
import io.github.primelib.jira4j.restv3.model.SanitizedJqlQueries;
import io.github.primelib.jira4j.restv3.model.Screen;
import io.github.primelib.jira4j.restv3.model.ScreenDetails;
import io.github.primelib.jira4j.restv3.model.ScreenSchemeDetails;
import io.github.primelib.jira4j.restv3.model.ScreenSchemeId;
import io.github.primelib.jira4j.restv3.model.ScreenableField;
import io.github.primelib.jira4j.restv3.model.ScreenableTab;
import io.github.primelib.jira4j.restv3.model.SearchAutoCompleteFilter;
import io.github.primelib.jira4j.restv3.model.SearchRequestBean;
import io.github.primelib.jira4j.restv3.model.SearchResults;
import io.github.primelib.jira4j.restv3.model.SecurityLevel;
import io.github.primelib.jira4j.restv3.model.SecurityScheme;
import io.github.primelib.jira4j.restv3.model.SecuritySchemeId;
import io.github.primelib.jira4j.restv3.model.SecuritySchemeMembersRequest;
import io.github.primelib.jira4j.restv3.model.SecuritySchemes;
import io.github.primelib.jira4j.restv3.model.ServerInformation;
import io.github.primelib.jira4j.restv3.model.ServiceRegistry;
import java.util.Set;
import io.github.primelib.jira4j.restv3.model.SetDefaultLevelsRequest;
import io.github.primelib.jira4j.restv3.model.SetDefaultPriorityRequest;
import io.github.primelib.jira4j.restv3.model.SetDefaultResolutionRequest;
import io.github.primelib.jira4j.restv3.model.SharePermission;
import io.github.primelib.jira4j.restv3.model.SharePermissionInputBean;
import io.github.primelib.jira4j.restv3.model.SimpleApplicationPropertyBean;
import io.github.primelib.jira4j.restv3.model.StatusCategory;
import io.github.primelib.jira4j.restv3.model.StatusCreateRequest;
import io.github.primelib.jira4j.restv3.model.StatusDetails;
import io.github.primelib.jira4j.restv3.model.StatusUpdateRequest;
import io.github.primelib.jira4j.restv3.model.SystemAvatars;
import io.github.primelib.jira4j.restv3.model.TaskProgressBeanObject;
import io.github.primelib.jira4j.restv3.model.TimeTrackingConfiguration;
import io.github.primelib.jira4j.restv3.model.TimeTrackingProvider;
import io.github.primelib.jira4j.restv3.model.Transitions;
import java.net.URI;
import java.util.UUID;
import io.github.primelib.jira4j.restv3.model.UiModificationIdentifiers;
import io.github.primelib.jira4j.restv3.model.UnrestrictedUserEmail;
import io.github.primelib.jira4j.restv3.model.UpdateCustomFieldDetails;
import io.github.primelib.jira4j.restv3.model.UpdateDefaultScreenScheme;
import io.github.primelib.jira4j.restv3.model.UpdateFieldConfigurationSchemeDetails;
import io.github.primelib.jira4j.restv3.model.UpdateIssueSecurityLevelDetails;
import io.github.primelib.jira4j.restv3.model.UpdateIssueSecuritySchemeRequestBean;
import io.github.primelib.jira4j.restv3.model.UpdateNotificationSchemeDetails;
import io.github.primelib.jira4j.restv3.model.UpdatePriorityDetails;
import io.github.primelib.jira4j.restv3.model.UpdateProjectDetails;
import io.github.primelib.jira4j.restv3.model.UpdateResolutionDetails;
import io.github.primelib.jira4j.restv3.model.UpdateScreenDetails;
import io.github.primelib.jira4j.restv3.model.UpdateScreenSchemeDetails;
import io.github.primelib.jira4j.restv3.model.UpdateUiModificationDetails;
import io.github.primelib.jira4j.restv3.model.UpdateUserToGroupBean;
import io.github.primelib.jira4j.restv3.model.UpdatedProjectCategory;
import io.github.primelib.jira4j.restv3.model.User;
import io.github.primelib.jira4j.restv3.model.UserColumnRequestBody;
import io.github.primelib.jira4j.restv3.model.UserMigrationBean;
import io.github.primelib.jira4j.restv3.model.Version;
import io.github.primelib.jira4j.restv3.model.VersionIssueCounts;
import io.github.primelib.jira4j.restv3.model.VersionMoveBean;
import io.github.primelib.jira4j.restv3.model.VersionRelatedWork;
import io.github.primelib.jira4j.restv3.model.VersionUnresolvedIssuesCount;
import io.github.primelib.jira4j.restv3.model.Votes;
import io.github.primelib.jira4j.restv3.model.Watchers;
import io.github.primelib.jira4j.restv3.model.WebhookRegistrationDetails;
import io.github.primelib.jira4j.restv3.model.WebhooksExpirationDate;
import io.github.primelib.jira4j.restv3.model.WorkflowCapabilities;
import io.github.primelib.jira4j.restv3.model.WorkflowCreateRequest;
import io.github.primelib.jira4j.restv3.model.WorkflowCreateResponse;
import io.github.primelib.jira4j.restv3.model.WorkflowCreateValidateRequest;
import io.github.primelib.jira4j.restv3.model.WorkflowIDs;
import io.github.primelib.jira4j.restv3.model.WorkflowReadRequest;
import io.github.primelib.jira4j.restv3.model.WorkflowReadResponse;
import io.github.primelib.jira4j.restv3.model.WorkflowRulesSearch;
import io.github.primelib.jira4j.restv3.model.WorkflowRulesSearchDetails;
import io.github.primelib.jira4j.restv3.model.WorkflowScheme;
import io.github.primelib.jira4j.restv3.model.WorkflowSchemeProjectAssociation;
import io.github.primelib.jira4j.restv3.model.WorkflowSchemeReadRequest;
import io.github.primelib.jira4j.restv3.model.WorkflowSchemeReadResponse;
import io.github.primelib.jira4j.restv3.model.WorkflowSchemeUpdateRequest;
import io.github.primelib.jira4j.restv3.model.WorkflowSchemeUpdateRequiredMappingsRequest;
import io.github.primelib.jira4j.restv3.model.WorkflowSchemeUpdateRequiredMappingsResponse;
import io.github.primelib.jira4j.restv3.model.WorkflowTransitionProperty;
import io.github.primelib.jira4j.restv3.model.WorkflowTransitionRulesUpdate;
import io.github.primelib.jira4j.restv3.model.WorkflowTransitionRulesUpdateErrors;
import io.github.primelib.jira4j.restv3.model.WorkflowUpdateRequest;
import io.github.primelib.jira4j.restv3.model.WorkflowUpdateResponse;
import io.github.primelib.jira4j.restv3.model.WorkflowUpdateValidateRequestBean;
import io.github.primelib.jira4j.restv3.model.WorkflowValidationErrorList;
import io.github.primelib.jira4j.restv3.model.WorkflowsWithTransitionRulesDetails;
import io.github.primelib.jira4j.restv3.model.Worklog;
import io.github.primelib.jira4j.restv3.model.WorklogIdsRequestBean;
import java.util.concurrent.CompletableFuture;
import feign.RequestLine;
import feign.Param;
import feign.Headers;
@Generated(value = "io.github.primelib.primecodegen.javafeign.JavaFeignGenerator")
public interface JiraRESTV3AsyncApi {
/**
* Add actors to project role
*
* Adds actors to a project role for the project.
* To replace all actors for the project, use [Set actors for project role](#api-rest-api-3-project-projectIdOrKey-role-id-put).
* This operation can be accessed anonymously.
* **[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).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param projectIdOrKey The project ID or project key (case sensitive). (required)
* @param id 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)
* @param actorsMap The groups or users to associate with the project role for this project. Provide the user account ID, group name, or group ID. As a group's name can change, use of group ID is recommended. (required)
*/
@RequestLine("POST /rest/api/3/project/{projectIdOrKey}/role/{id}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addActorUsers(@Param("projectIdOrKey") @NotNull String projectIdOrKey, @Param("id") @NotNull Long id, @NotNull ActorsMap actorsMap);
/**
* 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 {@code 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 {@code 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 protected] :<api_token>'
*
*
* -H 'X-Atlassian-Token: no-check'
*
*
* --form 'file=@"myfile.txt"'
* #### Node.js ####
*
*
* // This code sample uses the 'node-fetch' and 'form-data' libraries:
*
*
* // https://www.npmjs.com/package/node-fetch
*
*
* // https://www.npmjs.com/package/form-data
*
*
* const fetch = require('node-fetch');
*
*
* const FormData = require('form-data');
*
*
* const fs = require('fs');
*
*
*
*
* const filePath = 'myfile.txt';
*
*
* const form = new FormData();
*
*
* const stats = fs.statSync(filePath);
*
*
* const fileSizeInBytes = stats.size;
*
*
* const fileStream = fs.createReadStream(filePath);
*
*
*
*
* form.append('file', fileStream, {knownLength: fileSizeInBytes});
*
*
*
*
* fetch('https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments', {
*
*
*
*
* method: 'POST',
*
*
*
*
* body: form,
*
*
*
*
* headers: {
*
*
*
*
*
*
* 'Authorization': `Basic ${Buffer.from(
*
*
*
*
*
*
*
*
* '[email protected] :'
*
*
*
*
*
*
* ).toString('base64')}`,
*
*
*
*
*
*
* 'Accept': 'application/json',
*
*
*
*
*
*
* 'X-Atlassian-Token': 'no-check'
*
*
*
*
* }
*
*
* })
*
*
*
*
* .then(response => {
*
*
*
*
*
*
* console.log(
*
*
*
*
*
*
*
*
* {@code 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 protected] ", "")
*
*
*
*
*
*
* .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 protected] ", "")
*
*
*
*
* 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 protected] ', '');
*
*
*
*
* $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 {@code 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({@code 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.
*
* Authentication - Required Scopes: [write:jira-work]
* @param issueIdOrKey The ID or key of the issue that attachments are added to. (required)
*/
@RequestLine("POST /rest/api/3/issue/{issueIdOrKey}/attachments")
@Headers({
"Content-Type: multipart/form-data",
"Accept: application/json"
})
CompletableFuture> addAttachment(@Param("issueIdOrKey") @NotNull String issueIdOrKey);
/**
* Add comment
*
* Adds a comment to an issue.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* and *Add comments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
*
* Authentication - Required Scopes: [write:jira-work]
* @param issueIdOrKey The ID or key of the issue. (required)
* @param comment (required)
* @param expand Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts {@code renderedBody}, which returns the comment body rendered in HTML. (optional)
*/
@RequestLine("POST /rest/api/3/issue/{issueIdOrKey}/comment?expand={expand}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addComment(@Param("issueIdOrKey") @NotNull String issueIdOrKey, @NotNull Comment comment, @Param("expand") @Nullable String expand);
/**
* Add field to default screen
*
* Adds a field to the default tab of the default screen.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-project]
* @param fieldId The ID of the field. (required)
*/
@RequestLine("POST /rest/api/3/screens/addToDefault/{fieldId}")
@Headers({
"Accept: application/json"
})
CompletableFuture addFieldToDefaultScreen(@Param("fieldId") @NotNull String fieldId);
/**
* Add gadget to dashboard
*
* Adds a gadget to a dashboard.
* **[Permissions](#permissions) required:** None.
*
* Authentication - Required Scopes: [write:jira-work, read:jira-work]
* @param dashboardId The ID of the dashboard. (required)
* @param dashboardGadgetSettings (required)
*/
@RequestLine("POST /rest/api/3/dashboard/{dashboardId}/gadget")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addGadget(@Param("dashboardId") @NotNull Long dashboardId, @NotNull DashboardGadgetSettings dashboardGadgetSettings);
/**
* 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).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param fieldId The ID of the custom field. (required)
* @param contextId The ID of the context. (required)
* @param issueTypeIds (required)
*/
@RequestLine("PUT /rest/api/3/field/{fieldId}/context/{contextId}/issuetype")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addIssueTypesToContext(@Param("fieldId") @NotNull String fieldId, @Param("contextId") @NotNull Long contextId, @NotNull IssueTypeIds issueTypeIds);
/**
* Add issue types to issue type scheme
*
* Adds issue types to an issue type scheme.
* The added issue types are appended to the issue types list.
* If any of the issue types exist in the issue type scheme, the operation fails and no issue types are added.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param issueTypeSchemeId The ID of the issue type scheme. (required)
* @param issueTypeIds (required)
*/
@RequestLine("PUT /rest/api/3/issuetypescheme/{issueTypeSchemeId}/issuetype")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addIssueTypesToIssueTypeScheme(@Param("issueTypeSchemeId") @NotNull Long issueTypeSchemeId, @NotNull IssueTypeIds issueTypeIds);
/**
* Add notifications to notification scheme
*
* Adds notifications to a notification scheme. You can add up to 1000 notifications per request.
* *Deprecated: The notification type {@code EmailAddress} is no longer supported in Cloud. Refer to the [changelog](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-1031) for more details.*
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param id The ID of the notification scheme. (required)
* @param addNotificationsDetails (required)
*/
@RequestLine("PUT /rest/api/3/notificationscheme/{id}/notification")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addNotifications(@Param("id") @NotNull String id, @NotNull AddNotificationsDetails addNotificationsDetails);
/**
* Add default actors to project role
*
* 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.
* Changing a project role's default actors does not affect project role members for projects already created.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param id 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)
* @param actorInputBean (required)
*/
@RequestLine("POST /rest/api/3/role/{id}/actors")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addProjectRoleActorsToRole(@Param("id") @NotNull Long id, @NotNull ActorInputBean actorInputBean);
/**
* Create screen tab
*
* Creates a tab for a screen.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-project]
* @param screenId The ID of the screen. (required)
* @param screenableTab (required)
*/
@RequestLine("POST /rest/api/3/screens/{screenId}/tabs")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addScreenTab(@Param("screenId") @NotNull Long screenId, @NotNull ScreenableTab screenableTab);
/**
* Add screen tab field
*
* Adds a field to a screen tab.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-project]
* @param screenId The ID of the screen. (required)
* @param tabId The ID of the screen tab. (required)
* @param addFieldBean (required)
*/
@RequestLine("POST /rest/api/3/screens/{screenId}/tabs/{tabId}/fields")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addScreenTabField(@Param("screenId") @NotNull Long screenId, @Param("tabId") @NotNull Long tabId, @NotNull AddFieldBean addFieldBean);
/**
* Add issue security levels
*
* Adds levels and levels' members to the issue security scheme. You can add up to 100 levels per request.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param schemeId The ID of the issue security scheme. (required)
* @param addSecuritySchemeLevelsRequestBean (required)
*/
@RequestLine("PUT /rest/api/3/issuesecurityschemes/{schemeId}/level")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addSecurityLevel(@Param("schemeId") @NotNull String schemeId, @NotNull AddSecuritySchemeLevelsRequestBean addSecuritySchemeLevelsRequestBean);
/**
* Add issue security level members
*
* Adds members to the issue security level. You can add up to 100 members per request.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param schemeId The ID of the issue security scheme. (required)
* @param levelId The ID of the issue security level. (required)
* @param securitySchemeMembersRequest (required)
*/
@RequestLine("PUT /rest/api/3/issuesecurityschemes/{schemeId}/level/{levelId}/member")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addSecurityLevelMembers(@Param("schemeId") @NotNull String schemeId, @Param("levelId") @NotNull String levelId, @NotNull SecuritySchemeMembersRequest securitySchemeMembersRequest);
/**
* Add share permission
*
* 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.
* Be aware that this operation uses different objects for updating share permissions compared to [Update filter](#api-rest-api-3-filter-id-put).
* **[Permissions](#permissions) required:** *Share dashboards and filters* [global permission](https://confluence.atlassian.com/x/x4dKLg) and the user must own the filter.
*
* Authentication - Required Scopes: [write:jira-work]
* @param id The ID of the filter. (required)
* @param sharePermissionInputBean (required)
*/
@RequestLine("POST /rest/api/3/filter/{id}/permission")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture> addSharePermission(@Param("id") @NotNull Long id, @NotNull SharePermissionInputBean sharePermissionInputBean);
/**
* Add user to group
*
* Adds a user to a group.
* **[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param updateUserToGroupBean The user to add to the group. (required)
* @param groupname As a group's name can change, use of {@code groupId} is recommended to identify a group. The name of the group. This parameter cannot be used with the {@code groupId} parameter. (optional)
* @param groupId The ID of the group. This parameter cannot be used with the {@code groupName} parameter. (optional)
*/
@RequestLine("POST /rest/api/3/group/user?groupname={groupname}&groupId={groupId}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addUserToGroup(@NotNull UpdateUserToGroupBean updateUserToGroupBean, @Param("groupname") @Nullable String groupname, @Param("groupId") @Nullable String groupId);
/**
* Add vote
*
* Adds the user's vote to an issue. This is the equivalent of the user clicking *Vote* on an issue in Jira.
* This 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.
* **[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.
*
* Authentication - Required Scopes: [write:jira-work]
* @param issueIdOrKey The ID or key of the issue. (required)
*/
@RequestLine("POST /rest/api/3/issue/{issueIdOrKey}/votes")
@Headers({
"Accept: application/json"
})
CompletableFuture addVote(@Param("issueIdOrKey") @NotNull String issueIdOrKey);
/**
* Add watcher
*
* Adds a user as a watcher of an issue by passing the account ID of the user. For example, {@code "5b10ac8d82e05b22cc7d4ef5"}. If no user is specified the calling user is added.
* 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 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.
*
* Authentication - Required Scopes: [write:jira-work]
* @param issueIdOrKey The ID or key of the issue. (required)
* @param body The account ID of the user. Note that username cannot be used due to privacy changes. (required)
*/
@RequestLine("POST /rest/api/3/issue/{issueIdOrKey}/watchers")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addWatcher(@Param("issueIdOrKey") @NotNull String issueIdOrKey, @NotNull String body);
/**
* Add worklog
*
* Adds a worklog to an issue.
* Time 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).
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* and *Work on issues* [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.
*
* Authentication - Required Scopes: [write:jira-work]
* @param issueIdOrKey The ID or key the issue. (required)
* @param worklog (required)
* @param notifyUsers Whether users watching the issue are notified by email. (optional, defaults to true)
* @param adjustEstimate Defines how to update the issue's time estimate, the options are: * {@code new} Sets the estimate to a specific value, defined in {@code newEstimate}. * {@code leave} Leaves the estimate unchanged. * {@code manual} Reduces the estimate by amount specified in {@code reduceBy}. * {@code auto} Reduces the estimate by the value of {@code timeSpent} in the worklog. (optional, defaults to auto)
* @param newEstimate 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 {@code adjustEstimate} is {@code new}. (optional)
* @param reduceBy The amount to reduce the issue's remaining estimate by, as days (\\#d), hours (\\#h), or minutes (\\#m). For example, *2d*. Required when {@code adjustEstimate} is {@code manual}. (optional)
* @param expand Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts {@code properties}, which returns worklog properties. (optional)
* @param overrideEditableFlag 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. Connect and Forge app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) can use this flag. (optional, defaults to false)
*/
@RequestLine("POST /rest/api/3/issue/{issueIdOrKey}/worklog?notifyUsers={notifyUsers}&adjustEstimate={adjustEstimate}&newEstimate={newEstimate}&reduceBy={reduceBy}&expand={expand}&overrideEditableFlag={overrideEditableFlag}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addWorklog(@Param("issueIdOrKey") @NotNull String issueIdOrKey, @NotNull Worklog worklog, @Param("notifyUsers") @Nullable Boolean notifyUsers, @Param("adjustEstimate") @Nullable String adjustEstimate, @Param("newEstimate") @Nullable String newEstimate, @Param("reduceBy") @Nullable String reduceBy, @Param("expand") @Nullable String expand, @Param("overrideEditableFlag") @Nullable Boolean overrideEditableFlag);
/**
* Delete app property
*
* Deletes an app's property.
* **[Permissions](#permissions) required:** Only a Connect app whose key matches {@code addonKey} can make this request.
*
* @param addonKey The key of the app, as defined in its descriptor. (required)
* @param propertyKey The key of the property. (required)
*/
@RequestLine("DELETE /rest/atlassian-connect/1/addons/{addonKey}/properties/{propertyKey}")
@Headers({
"Accept: application/json"
})
CompletableFuture addonPropertiesResourceDeleteAddonPropertyDelete(@Param("addonKey") @NotNull String addonKey, @Param("propertyKey") @NotNull String propertyKey);
/**
* Delete app property (Forge)
*
* Deletes a Forge app's property.
* **[Permissions](#permissions) required:** Only Forge apps can make this request.
*
* @param propertyKey The key of the property. (required)
*/
@RequestLine("DELETE /rest/forge/1/app/properties/{propertyKey}")
@Headers({
"Accept: application/json"
})
CompletableFuture addonPropertiesResourceDeleteAppPropertyDelete(@Param("propertyKey") @NotNull String propertyKey);
/**
* Get app properties
*
* Gets all the properties of an app.
* **[Permissions](#permissions) required:** Only a Connect app whose key matches {@code addonKey} can make this request. Additionally, Forge apps published on the Marketplace can access properties of Connect apps they were [migrated from](https://developer.atlassian.com/platform/forge/build-a-connect-on-forge-app/).
*
* @param addonKey The key of the app, as defined in its descriptor. (required)
*/
@RequestLine("GET /rest/atlassian-connect/1/addons/{addonKey}/properties")
@Headers({
"Accept: application/json"
})
CompletableFuture addonPropertiesResourceGetAddonPropertiesGet(@Param("addonKey") @NotNull String addonKey);
/**
* Get app property
*
* Returns the key and value of an app's property.
* **[Permissions](#permissions) required:** Only a Connect app whose key matches {@code addonKey} can make this request. Additionally, Forge apps published on the Marketplace can access properties of Connect apps they were [migrated from](https://developer.atlassian.com/platform/forge/build-a-connect-on-forge-app/).
*
* @param addonKey The key of the app, as defined in its descriptor. (required)
* @param propertyKey The key of the property. (required)
*/
@RequestLine("GET /rest/atlassian-connect/1/addons/{addonKey}/properties/{propertyKey}")
@Headers({
"Accept: application/json"
})
CompletableFuture addonPropertiesResourceGetAddonPropertyGet(@Param("addonKey") @NotNull String addonKey, @Param("propertyKey") @NotNull String propertyKey);
/**
* Set app property
*
* Sets the value of an app's property. Use this resource to store custom data for your app.
* The 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.
* **[Permissions](#permissions) required:** Only a Connect app whose key matches {@code addonKey} can make this request.
*
* @param addonKey The key of the app, as defined in its descriptor. (required)
* @param propertyKey The key of the property. (required)
* @param body (required)
*/
@RequestLine("PUT /rest/atlassian-connect/1/addons/{addonKey}/properties/{propertyKey}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addonPropertiesResourcePutAddonPropertyPut(@Param("addonKey") @NotNull String addonKey, @Param("propertyKey") @NotNull String propertyKey, @NotNull Object body);
/**
* Set app property (Forge)
*
* Sets the value of a Forge app's property. These values can be retrieved in [Jira expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) through the {@code app} [context variable](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables).
* For other use cases, use the [Storage API](https://developer.atlassian.com/platform/forge/runtime-reference/storage-api/).
* The 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.
* **[Permissions](#permissions) required:** Only Forge apps can make this request.
*
* @param propertyKey The key of the property. (required)
* @param body (required)
*/
@RequestLine("PUT /rest/forge/1/app/properties/{propertyKey}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture addonPropertiesResourcePutAppPropertyPut(@Param("propertyKey") @NotNull String propertyKey, @NotNull Object body);
/**
* Analyse Jira expression
*
* Analyses and validates Jira expressions.
* As an experimental feature, this operation can also attempt to type-check the expressions.
* Learn more about Jira expressions in the [documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).
* **[Permissions](#permissions) required**: None.
*
* Authentication - Required Scopes: [read:jira-work, read:jira-user]
* @param jiraExpressionForAnalysis The Jira expressions to analyse. (required)
* @param check The check to perform: * {@code 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. * {@code 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. * {@code 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. (optional, defaults to syntax)
*/
@RequestLine("POST /rest/api/3/expression/analyse?check={check}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture analyseExpression(@NotNull JiraExpressionForAnalysis jiraExpressionForAnalysis, @Param("check") @Nullable String check);
/**
* 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 connectCustomFieldValues (required)
*/
@RequestLine("PUT /rest/atlassian-connect/1/migration/field")
@Headers({
"Atlassian-Transfer-Id: {atlassianTransferId}",
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture appIssueFieldValueUpdateResourceUpdateIssueFieldsPut(@Param("atlassianTransferId") @NotNull UUID atlassianTransferId, @NotNull ConnectCustomFieldValues connectCustomFieldValues);
/**
* 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).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param issueTypeScreenSchemeId The ID of the issue type screen scheme. (required)
* @param issueTypeScreenSchemeMappingDetails (required)
*/
@RequestLine("PUT /rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture appendMappingsForIssueTypeScreenScheme(@Param("issueTypeScreenSchemeId") @NotNull String issueTypeScreenSchemeId, @NotNull IssueTypeScreenSchemeMappingDetails issueTypeScreenSchemeMappingDetails);
/**
* Archive issue(s) by issue ID/key
*
* Enables admins to archive up to 1000 issues in a single request using issue ID/key, returning details of the issue(s) archived in the process and the errors encountered, if any.
* **Note that:**
* *
* you can't archive subtasks directly, only through their parent issues
* *
* you can only archive issues from software, service management, and business projects
* **[Permissions](#permissions) required:** Jira admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
* **License required:** Premium or Enterprise
* **Signed-in users only:** This API can't be accessed anonymously.
*
*
*
* Authentication - Required Scopes: [write:jira-work]
* @param issueArchivalSyncRequest Contains a list of issue keys or IDs to be archived. (required)
*/
@RequestLine("PUT /rest/api/3/issue/archive")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture archiveIssues(@NotNull IssueArchivalSyncRequest issueArchivalSyncRequest);
/**
* Archive issue(s) by JQL
*
* Enables admins to archive up to 100,000 issues in a single request using JQL, returning the URL to check the status of the submitted request.
* You can use the [get task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/#api-rest-api-3-task-taskid-get) and [cancel task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/#api-rest-api-3-task-taskid-cancel-post) APIs to manage the request.
* **Note that:**
* *
* you can't archive subtasks directly, only through their parent issues
* *
* you can only archive issues from software, service management, and business projects
* **[Permissions](#permissions) required:** Jira admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
* **License required:** Premium or Enterprise
* **Signed-in users only:** This API can't be accessed anonymously.
* **Rate limiting:** Only a single request per jira instance can be active at any given time.
*
*
*
* Authentication - Required Scopes: [write:jira-work]
* @param archiveIssueAsyncRequest A JQL query specifying the issues to archive. Note that subtasks can only be archived through their parent issues. (required)
*/
@RequestLine("POST /rest/api/3/issue/archive")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture archiveIssuesAsync(@NotNull ArchiveIssueAsyncRequest archiveIssueAsyncRequest);
/**
* Archive project
*
* 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).
*
* Authentication - Required Scopes: [manage:jira-project]
* @param projectIdOrKey The project ID or project key (case sensitive). (required)
*/
@RequestLine("POST /rest/api/3/project/{projectIdOrKey}/archive")
@Headers({
"Accept: application/json"
})
CompletableFuture archiveProject(@Param("projectIdOrKey") @NotNull String projectIdOrKey);
/**
* Assign field configuration scheme to project
*
* Assigns a field configuration scheme to a project. If the field configuration scheme ID is {@code null}, the operation assigns the default field configuration scheme.
* Field configuration schemes can only be assigned to classic projects.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param fieldConfigurationSchemeProjectAssociation (required)
*/
@RequestLine("PUT /rest/api/3/fieldconfigurationscheme/project")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture assignFieldConfigurationSchemeToProject(@NotNull FieldConfigurationSchemeProjectAssociation fieldConfigurationSchemeProjectAssociation);
/**
* Assign issue
*
* 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.
* If {@code name} or {@code accountId} is set to:
* *
* {@code "-1"}, the issue is assigned to the default assignee for the project.
* *
* {@code null}, the issue is set to unassigned.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse Projects* and *Assign Issues* [ 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.
*
* Authentication - Required Scopes: [write:jira-work]
* @param issueIdOrKey The ID or key of the issue to be assigned. (required)
* @param user The request object with the user that the issue is assigned to. (required)
*/
@RequestLine("PUT /rest/api/3/issue/{issueIdOrKey}/assignee")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture assignIssue(@Param("issueIdOrKey") @NotNull String issueIdOrKey, @NotNull User user);
/**
* Assign issue type scheme to project
*
* Assigns an issue type scheme to a project.
* If 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.
* Issue type schemes can only be assigned to classic projects.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param issueTypeSchemeProjectAssociation (required)
*/
@RequestLine("PUT /rest/api/3/issuetypescheme/project")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture assignIssueTypeSchemeToProject(@NotNull IssueTypeSchemeProjectAssociation issueTypeSchemeProjectAssociation);
/**
* 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).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param issueTypeScreenSchemeProjectAssociation (required)
*/
@RequestLine("PUT /rest/api/3/issuetypescreenscheme/project")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture assignIssueTypeScreenSchemeToProject(@NotNull IssueTypeScreenSchemeProjectAssociation issueTypeScreenSchemeProjectAssociation);
/**
* Assign permission scheme
*
* Assigns a permission scheme with a project. See [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)
*
* Authentication - Required Scopes: [manage:jira-project]
* @param projectKeyOrId The project ID or project key (case sensitive). (required)
* @param idBean (required)
* @param expand 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: * {@code all} Returns all expandable information. * {@code field} Returns information about the custom field granted the permission. * {@code group} Returns information about the group that is granted the permission. * {@code permissions} Returns all permission grants for each permission scheme. * {@code projectRole} Returns information about the project role granted the permission. * {@code user} Returns information about the user who is granted the permission. (optional)
*/
@RequestLine("PUT /rest/api/3/project/{projectKeyOrId}/permissionscheme?expand={expand}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture assignPermissionScheme(@Param("projectKeyOrId") @NotNull String projectKeyOrId, @NotNull IdBean idBean, @Param("expand") @Nullable String expand);
/**
* 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).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param fieldId The ID of the custom field. (required)
* @param contextId The ID of the context. (required)
* @param projectIds (required)
*/
@RequestLine("PUT /rest/api/3/field/{fieldId}/context/{contextId}/project")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture assignProjectsToCustomFieldContext(@Param("fieldId") @NotNull String fieldId, @Param("contextId") @NotNull Long contextId, @NotNull ProjectIds projectIds);
/**
* Assign workflow scheme to project
*
* Assigns a workflow scheme to a project. This operation is performed only when there are no issues in the project.
* Workflow schemes can only be assigned to classic projects.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param workflowSchemeProjectAssociation (required)
*/
@RequestLine("PUT /rest/api/3/workflowscheme/project")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture assignSchemeToProject(@NotNull WorkflowSchemeProjectAssociation workflowSchemeProjectAssociation);
/**
* Associate security scheme to project
*
* Associates an issue security scheme with a project and remaps security levels of issues to the new levels, if provided.
* This operation is [asynchronous](#async). Follow the {@code 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:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param associateSecuritySchemeWithProjectDetails (required)
*/
@RequestLine("PUT /rest/api/3/issuesecurityschemes/project")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture associateSchemesToProjects(@NotNull AssociateSecuritySchemeWithProjectDetails associateSecuritySchemeWithProjectDetails);
/**
* Bulk delete issue property
*
* Deletes a property value from multiple issues. The issues to be updated can be specified by filter criteria.
* The criteria the filter used to identify eligible issues are:
* *
* {@code entityIds} Only issues from this list are eligible.
* *
* {@code currentValue} Only issues with the property set to this value are eligible.
* If both criteria is specified, they are joined with the logical *AND*: only issues that satisfy both criteria are considered eligible.
* If 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.
* This operation is:
* *
* transactional, either the property is deleted from all eligible issues or, when errors occur, no properties are deleted.
* *
* [asynchronous](#async). Follow the {@code 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.
*
* Authentication - Required Scopes: [write:jira-work]
* @param propertyKey The key of the property. (required)
* @param issueFilterForBulkPropertyDelete (required)
*/
@RequestLine("DELETE /rest/api/3/issue/properties/{propertyKey}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture bulkDeleteIssueProperty(@Param("propertyKey") @NotNull String propertyKey, @NotNull IssueFilterForBulkPropertyDelete issueFilterForBulkPropertyDelete);
/**
* Bulk edit dashboards
*
* Bulk edit dashboards. Maximum number of dashboards to be edited at the same time is 100.
* **[Permissions](#permissions) required:** None
* The dashboards to be updated must be owned by the user, or the user must be an administrator.
*
* Authentication - Required Scopes: [write:jira-work]
* @param bulkEditShareableEntityRequest The details of dashboards being updated in bulk. (required)
*/
@RequestLine("PUT /rest/api/3/dashboard/bulk/edit")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture bulkEditDashboards(@NotNull BulkEditShareableEntityRequest bulkEditShareableEntityRequest);
/**
* Bulk get groups
*
* Returns a [paginated](#pagination) list of groups.
* **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [read:jira-user]
* @param startAt The index of the first item to return in a page of results (page offset). (optional, defaults to 0)
* @param maxResults The maximum number of items to return per page. (optional, defaults to 50)
* @param groupId The ID of a group. To specify multiple IDs, pass multiple {@code groupId} parameters. For example, {@code groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5}. (optional)
* @param groupName The name of a group. To specify multiple names, pass multiple {@code groupName} parameters. For example, {@code groupName=administrators&groupName=jira-software-users}. (optional)
* @param accessType The access level of a group. Valid values: 'site-admin', 'admin', 'user'. (optional)
* @param applicationKey The application key of the product user groups to search for. Valid values: 'jira-servicedesk', 'jira-software', 'jira-product-discovery', 'jira-core'. (optional)
*/
@RequestLine("GET /rest/api/3/group/bulk?startAt={startAt}&maxResults={maxResults}&groupId={groupId}&groupName={groupName}&accessType={accessType}&applicationKey={applicationKey}")
@Headers({
"Accept: application/json"
})
CompletableFuture bulkGetGroups(@Param("startAt") @Nullable Long startAt, @Param("maxResults") @Nullable Integer maxResults, @Param("groupId") @Nullable Set groupId, @Param("groupName") @Nullable Set groupName, @Param("accessType") @Nullable String accessType, @Param("applicationKey") @Nullable String applicationKey);
/**
* Bulk get users
*
* Returns a [paginated](#pagination) list of the users specified by one or more account IDs.
* **[Permissions](#permissions) required:** Permission to access Jira.
*
* Authentication - Required Scopes: [read:jira-user]
* @param accountId The account ID of a user. To specify multiple users, pass multiple {@code accountId} parameters. For example, {@code accountId=5b10a2844c20165700ede21g&accountId=5b10ac8d82e05b22cc7d4ef5}. (required)
* @param startAt The index of the first item to return in a page of results (page offset). (optional, defaults to 0)
* @param maxResults The maximum number of items to return per page. (optional, defaults to 10)
* @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)
*/
@RequestLine("GET /rest/api/3/user/bulk?startAt={startAt}&maxResults={maxResults}&username={username}&key={key}&accountId={accountId}")
@Headers({
"Accept: application/json"
})
CompletableFuture bulkGetUsers(@Param("accountId") @NotNull List accountId, @Param("startAt") @Nullable Long startAt, @Param("maxResults") @Nullable Integer maxResults, @Param("username") @Nullable List username, @Param("key") @Nullable List key);
/**
* Get account IDs for users
*
* Returns the account IDs for the users specified in the {@code key} or {@code username} parameters. Note that multiple {@code key} or {@code username} parameters can be specified.
* **[Permissions](#permissions) required:** Permission to access Jira.
*
* Authentication - Required Scopes: [read:jira-user]
* @param startAt The index of the first item to return in a page of results (page offset). (optional, defaults to 0)
* @param maxResults The maximum number of items to return per page. (optional, defaults to 10)
* @param username Username of a user. To specify multiple users, pass multiple copies of this parameter. For example, {@code username=fred&username=barney}. Required if {@code key} isn't provided. Cannot be provided if {@code key} is present. (optional)
* @param key Key of a user. To specify multiple users, pass multiple copies of this parameter. For example, {@code key=fred&key=barney}. Required if {@code username} isn't provided. Cannot be provided if {@code username} is present. (optional)
*/
@RequestLine("GET /rest/api/3/user/bulk/migration?startAt={startAt}&maxResults={maxResults}&username={username}&key={key}")
@Headers({
"Accept: application/json"
})
CompletableFuture> bulkGetUsersMigration(@Param("startAt") @Nullable Long startAt, @Param("maxResults") @Nullable Integer maxResults, @Param("username") @Nullable List username, @Param("key") @Nullable List key);
/**
* Bulk set issue properties by issue
*
* Sets or updates entity property values on issues. Up to 10 entity properties can be specified for each issue and up to 100 issues included in the request.
* The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON.
* This operation is:
* *
* [asynchronous](#async). Follow the {@code 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.
* *
* non-transactional. Updating some entities may fail. Such information will available in the task result.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
*
* Authentication - Required Scopes: [write:jira-work]
* @param multiIssueEntityProperties Details of the issue properties to be set or updated. Note that if an issue is not found, it is ignored. (required)
*/
@RequestLine("POST /rest/api/3/issue/properties/multi")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture bulkSetIssuePropertiesByIssue(@NotNull MultiIssueEntityProperties multiIssueEntityProperties);
/**
* Bulk set issue property
*
* 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:
* *
* {@code entityIds} Only issues from this list are eligible.
* *
* {@code currentValue} Only issues with the property set to this value are eligible.
* *
* {@code 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 {@code currentValue} and {@code 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 {@code 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.
*
* Authentication - Required Scopes: [write:jira-work]
* @param propertyKey The key of the property. The maximum length is 255 characters. (required)
* @param bulkIssuePropertyUpdateRequest (required)
*/
@RequestLine("PUT /rest/api/3/issue/properties/{propertyKey}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture bulkSetIssueProperty(@Param("propertyKey") @NotNull String propertyKey, @NotNull BulkIssuePropertyUpdateRequest bulkIssuePropertyUpdateRequest);
/**
* Bulk set issues properties by list
*
* Sets or updates a list of entity property values on issues. A list of up to 10 entity properties can be specified along with up to 10,000 issues on which to set or update that list of entity properties.
* The 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.
* This operation is:
* *
* transactional, either all properties are updated in all eligible issues or, when errors occur, no properties are updated.
* *
* [asynchronous](#async). Follow the {@code 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* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
*
* Authentication - Required Scopes: [write:jira-work]
* @param issueEntityProperties Issue properties to be set or updated with values. (required)
*/
@RequestLine("POST /rest/api/3/issue/properties")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture bulkSetIssuesPropertiesList(@NotNull IssueEntityProperties issueEntityProperties);
/**
* Cancel task
*
* Cancels a task.
* **[Permissions](#permissions) required:** either of:
* *
* *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* *
* Creator of the task.
*
* Authentication - Required Scopes: [write:jira-work]
* @param taskId The ID of the task. (required)
*/
@RequestLine("POST /rest/api/3/task/{taskId}/cancel")
@Headers({
"Accept: application/json"
})
CompletableFuture cancelTask(@Param("taskId") @NotNull String taskId);
/**
* Change filter owner
*
* Changes the owner of the filter.
* **[Permissions](#permissions) required:** Permission to access Jira. However, the user must own the filter or have the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [write:jira-work]
* @param id The ID of the filter to update. (required)
* @param changeFilterOwner The account ID of the new owner of the filter. (required)
*/
@RequestLine("PUT /rest/api/3/filter/{id}/owner")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture changeFilterOwner(@Param("id") @NotNull Long id, @NotNull ChangeFilterOwner changeFilterOwner);
/**
* Copy dashboard
*
* Copies a dashboard. Any values provided in the {@code dashboard} parameter replace those in the copied dashboard.
* **[Permissions](#permissions) required:** None
* The dashboard to be copied must be owned by or shared with the user.
*
* Authentication - Required Scopes: [write:jira-work]
* @param id (required)
* @param dashboardDetails Dashboard details. (required)
*/
@RequestLine("POST /rest/api/3/dashboard/{id}/copy")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture copyDashboard(@Param("id") @NotNull String id, @NotNull DashboardDetails dashboardDetails);
/**
* Create component
*
* Creates a component. Use components to provide containers for issues within a project. 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).
*
* Authentication - Required Scopes: [manage:jira-project]
* @param projectComponent (required)
*/
@RequestLine("POST /rest/api/3/component")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createComponent(@NotNull ProjectComponent projectComponent);
/**
* Create custom field
*
* Creates a custom field.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param customFieldDefinitionJsonBean Definition of the custom field to be created (required)
*/
@RequestLine("POST /rest/api/3/field")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createCustomField(@NotNull CustomFieldDefinitionJsonBean customFieldDefinitionJsonBean);
/**
* Create custom field context
*
* Creates a custom field context.
* If {@code projectIds} is empty, a global context is created. A global context is one that applies to all project. If {@code issueTypeIds} is empty, the context applies to all issue types.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param fieldId The ID of the custom field. (required)
* @param createCustomFieldContext (required)
*/
@RequestLine("POST /rest/api/3/field/{fieldId}/context")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createCustomFieldContext(@Param("fieldId") @NotNull String fieldId, @NotNull CreateCustomFieldContext createCustomFieldContext);
/**
* 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).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param fieldId The ID of the custom field. (required)
* @param contextId The ID of the context. (required)
* @param bulkCustomFieldOptionCreateRequest (required)
*/
@RequestLine("POST /rest/api/3/field/{fieldId}/context/{contextId}/option")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createCustomFieldOption(@Param("fieldId") @NotNull String fieldId, @Param("contextId") @NotNull Long contextId, @NotNull BulkCustomFieldOptionCreateRequest bulkCustomFieldOptionCreateRequest);
/**
* Create dashboard
*
* Creates a dashboard.
* **[Permissions](#permissions) required:** None.
*
* Authentication - Required Scopes: [write:jira-work]
* @param dashboardDetails Dashboard details. (required)
*/
@RequestLine("POST /rest/api/3/dashboard")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createDashboard(@NotNull DashboardDetails dashboardDetails);
/**
* Create field configuration
*
* Creates a field configuration. The field configuration is created with the same field properties as the default configuration, with all the fields being optional.
* This operation can only create configurations for use in company-managed (classic) projects.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param fieldConfigurationDetails (required)
*/
@RequestLine("POST /rest/api/3/fieldconfiguration")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createFieldConfiguration(@NotNull FieldConfigurationDetails fieldConfigurationDetails);
/**
* Create field configuration scheme
*
* Creates a field configuration scheme.
* This operation can only create field configuration schemes used in company-managed (classic) projects.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param updateFieldConfigurationSchemeDetails The details of the field configuration scheme. (required)
*/
@RequestLine("POST /rest/api/3/fieldconfigurationscheme")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createFieldConfigurationScheme(@NotNull UpdateFieldConfigurationSchemeDetails updateFieldConfigurationSchemeDetails);
/**
* Create filter
*
* 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.
* **[Permissions](#permissions) required:** Permission to access Jira.
*
* Authentication - Required Scopes: [write:jira-work]
* @param filter The filter to create. (required)
* @param expand Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include: * {@code 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 {@code sharedUsers}, then the {@code 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 {@code [start-index:end-index]} to the expand request. For example, to access the next 1000 users, use {@code ?expand=sharedUsers[1001:2000]}. * {@code subscriptions} Returns the users that are subscribed to the filter. If you don't specify {@code subscriptions}, the {@code 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 {@code [start-index:end-index]} to the expand request. For example, to access the next 1000 subscriptions, use {@code ?expand=subscriptions[1001:2000]}. (optional)
* @param overrideSharePermissions EXPERIMENTAL: Whether share permissions are overridden to enable filters with any share permissions to be created. Available to users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). (optional, defaults to false)
*/
@RequestLine("POST /rest/api/3/filter?expand={expand}&overrideSharePermissions={overrideSharePermissions}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createFilter(@NotNull Filter filter, @Param("expand") @Nullable String expand, @Param("overrideSharePermissions") @Nullable Boolean overrideSharePermissions);
/**
* Create group
*
* Creates a group.
* **[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param addGroupBean The name of the group. (required)
*/
@RequestLine("POST /rest/api/3/group")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createGroup(@NotNull AddGroupBean addGroupBean);
/**
* 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 {@code update} and {@code 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 {@code description}, {@code environment}, and any {@code textarea} type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields ({@code textfield}) accept a string and don't handle Atlassian Document Format content.
* Creating a subtask differs from creating an issue as follows:
* *
* {@code 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).
* *
* {@code 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.
* **[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.
*
* Authentication - Required Scopes: [write:jira-work]
* @param issueUpdateDetails (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. 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, defaults to false)
*/
@RequestLine("POST /rest/api/3/issue?updateHistory={updateHistory}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createIssue(@NotNull IssueUpdateDetails issueUpdateDetails, @Param("updateHistory") @Nullable Boolean updateHistory);
/**
* Create issue field option
*
* Creates an option for a select list issue field.
* Note 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.
* Each field can have a maximum of 10000 options, and each option can have a maximum of 10000 scopes.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param fieldKey The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the {@code fieldKey} value, do one of the following: * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the {@code jiraIssueFields} module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager. * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in {@code key}. For example, {@code "key": "teams-add-on__team-issue-field"} (required)
* @param issueFieldOptionCreateBean (required)
*/
@RequestLine("POST /rest/api/3/field/{fieldKey}/option")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createIssueFieldOption(@Param("fieldKey") @NotNull String fieldKey, @NotNull IssueFieldOptionCreateBean issueFieldOptionCreateBean);
/**
* Create issue link type
*
* 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.
* To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param issueLinkType (required)
*/
@RequestLine("POST /rest/api/3/issueLinkType")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createIssueLinkType(@NotNull IssueLinkType issueLinkType);
/**
* Create issue security scheme
*
* Creates a security scheme with security scheme levels and levels' members. You can create up to 100 security scheme levels and security scheme levels' members per request.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param createIssueSecuritySchemeDetails (required)
*/
@RequestLine("POST /rest/api/3/issuesecurityschemes")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createIssueSecurityScheme(@NotNull CreateIssueSecuritySchemeDetails createIssueSecuritySchemeDetails);
/**
* Create issue type
*
* Creates an issue type and adds it to the default issue type scheme.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param issueTypeCreateBean (required)
*/
@RequestLine("POST /rest/api/3/issuetype")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createIssueType(@NotNull IssueTypeCreateBean issueTypeCreateBean);
/**
* Load issue type avatar
*
* Loads an avatar for the issue type.
* Specify the avatar's local file location in the body of the request. Also, include the following headers:
* *
* {@code X-Atlassian-Token: no-check} To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).
* *
* {@code Content-Type: image/image type} Valid image types are JPEG, GIF, or PNG.
* For example:
* {@code curl --request POST \\ --user [email protected] :<api_token> \\ --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}
* The 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.
* The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
* After creating the avatar, use [ Update issue type](#api-rest-api-3-issuetype-id-put) to set it as the issue type's displayed avatar.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param id The ID of the issue type. (required)
* @param size The length of each side of the crop region. (required)
* @param body (required)
* @param x The X coordinate of the top-left corner of the crop region. (optional, defaults to 0)
* @param y The Y coordinate of the top-left corner of the crop region. (optional, defaults to 0)
*/
@RequestLine("POST /rest/api/3/issuetype/{id}/avatar2?x={x}&y={y}&size={size}")
@Headers({
"Content-Type: */*",
"Accept: application/json"
})
CompletableFuture createIssueTypeAvatar(@Param("id") @NotNull String id, @Param("size") @NotNull Integer size, @NotNull Object body, @Param("x") @Nullable Integer x, @Param("y") @Nullable Integer y);
/**
* Create issue type scheme
*
* Creates an issue type scheme.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param issueTypeSchemeDetails (required)
*/
@RequestLine("POST /rest/api/3/issuetypescheme")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createIssueTypeScheme(@NotNull IssueTypeSchemeDetails issueTypeSchemeDetails);
/**
* Create issue type screen scheme
*
* Creates an issue type screen scheme.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param issueTypeScreenSchemeDetails An issue type screen scheme bean. (required)
*/
@RequestLine("POST /rest/api/3/issuetypescreenscheme")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createIssueTypeScreenScheme(@NotNull IssueTypeScreenSchemeDetails issueTypeScreenSchemeDetails);
/**
* Bulk create issue
*
* Creates upto **50** 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.
* The content of each issue or subtask is defined using {@code update} and {@code 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 {@code description}, {@code environment}, and any {@code textarea} type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields ({@code textfield}) accept a string and don't handle Atlassian Document Format content.
* Creating a subtask differs from creating an issue as follows:
* *
* {@code 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).
* *
* {@code parent} the 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 each issue or subtask is created.
*
* Authentication - Required Scopes: [write:jira-work]
* @param issuesUpdateBean (required)
*/
@RequestLine("POST /rest/api/3/issue/bulk")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createIssues(@NotNull IssuesUpdateBean issuesUpdateBean);
/**
* Create notification scheme
*
* Creates a notification scheme with notifications. You can create up to 1000 notifications per request.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param createNotificationSchemeDetails (required)
*/
@RequestLine("POST /rest/api/3/notificationscheme")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createNotificationScheme(@NotNull CreateNotificationSchemeDetails createNotificationSchemeDetails);
/**
* Create or update remote issue link
*
* Creates or updates a remote issue link for an issue.
* If a {@code 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.
* This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* and *Link issues* [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.
*
* Authentication - Required Scopes: [write:jira-work]
* @param issueIdOrKey The ID or key of the issue. (required)
* @param remoteIssueLinkRequest (required)
*/
@RequestLine("POST /rest/api/3/issue/{issueIdOrKey}/remotelink")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createOrUpdateRemoteIssueLink(@Param("issueIdOrKey") @NotNull String issueIdOrKey, @NotNull RemoteIssueLinkRequest remoteIssueLinkRequest);
/**
* Create permission grant
*
* Creates a permission grant in a permission scheme.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param schemeId The ID of the permission scheme in which to create a new permission grant. (required)
* @param permissionGrant The permission grant to create. (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: * {@code permissions} Returns all permission grants for each permission scheme. * {@code user} Returns information about the user who is granted the permission. * {@code group} Returns information about the group that is granted the permission. * {@code projectRole} Returns information about the project role granted the permission. * {@code field} Returns information about the custom field granted the permission. * {@code all} Returns all expandable information. (optional)
*/
@RequestLine("POST /rest/api/3/permissionscheme/{schemeId}/permission?expand={expand}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createPermissionGrant(@Param("schemeId") @NotNull Long schemeId, @NotNull PermissionGrant permissionGrant, @Param("expand") @Nullable String expand);
/**
* Create permission scheme
*
* Creates a new permission scheme. You can create a permission scheme with or without defining a set of permission grants.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param permissionScheme The permission scheme to create. (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: * {@code all} Returns all expandable information. * {@code field} Returns information about the custom field granted the permission. * {@code group} Returns information about the group that is granted the permission. * {@code permissions} Returns all permission grants for each permission scheme. * {@code projectRole} Returns information about the project role granted the permission. * {@code user} Returns information about the user who is granted the permission. (optional)
*/
@RequestLine("POST /rest/api/3/permissionscheme?expand={expand}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createPermissionScheme(@NotNull PermissionScheme permissionScheme, @Param("expand") @Nullable String expand);
/**
* Create priority
*
* Creates an issue priority.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param createPriorityDetails (required)
*/
@RequestLine("POST /rest/api/3/priority")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createPriority(@NotNull CreatePriorityDetails createPriorityDetails);
/**
* Create project
*
* Creates a project based on a project type template, as shown in the following table:
* | Project Type Key | Project Template Key |
* |--|--|
* | {@code business} | {@code com.atlassian.jira-core-project-templates:jira-core-simplified-content-management}, {@code com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval}, {@code com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking}, {@code com.atlassian.jira-core-project-templates:jira-core-simplified-process-control}, {@code com.atlassian.jira-core-project-templates:jira-core-simplified-procurement}, {@code com.atlassian.jira-core-project-templates:jira-core-simplified-project-management}, {@code com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment}, {@code com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking} |
* | {@code service_desk} | {@code com.atlassian.servicedesk:simplified-it-service-management}, {@code com.atlassian.servicedesk:simplified-general-service-desk-it}, {@code com.atlassian.servicedesk:simplified-general-service-desk-business}, {@code com.atlassian.servicedesk:simplified-external-service-desk}, {@code com.atlassian.servicedesk:simplified-hr-service-desk}, {@code com.atlassian.servicedesk:simplified-facilities-service-desk}, {@code com.atlassian.servicedesk:simplified-legal-service-desk}, {@code com.atlassian.servicedesk:simplified-analytics-service-desk}, {@code com.atlassian.servicedesk:simplified-marketing-service-desk}, {@code com.atlassian.servicedesk:simplified-design-service-desk}, {@code com.atlassian.servicedesk:simplified-sales-service-desk}, {@code com.atlassian.servicedesk:simplified-blank-project-business}, {@code com.atlassian.servicedesk:simplified-blank-project-it}, {@code com.atlassian.servicedesk:simplified-finance-service-desk}, {@code com.atlassian.servicedesk:next-gen-it-service-desk}, {@code com.atlassian.servicedesk:next-gen-hr-service-desk}, {@code com.atlassian.servicedesk:next-gen-legal-service-desk}, {@code com.atlassian.servicedesk:next-gen-marketing-service-desk}, {@code com.atlassian.servicedesk:next-gen-facilities-service-desk}, {@code com.atlassian.servicedesk:next-gen-general-it-service-desk}, {@code com.atlassian.servicedesk:next-gen-general-business-service-desk}, {@code com.atlassian.servicedesk:next-gen-analytics-service-desk}, {@code com.atlassian.servicedesk:next-gen-finance-service-desk}, {@code com.atlassian.servicedesk:next-gen-design-service-desk}, {@code com.atlassian.servicedesk:next-gen-sales-service-desk} |
* | {@code software} | {@code com.pyxis.greenhopper.jira:gh-simplified-agility-kanban}, {@code com.pyxis.greenhopper.jira:gh-simplified-agility-scrum}, {@code com.pyxis.greenhopper.jira:gh-simplified-basic}, {@code com.pyxis.greenhopper.jira:gh-simplified-kanban-classic}, {@code 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 {@code business} projects.
* *
* Jira Service Management enables {@code service_desk} projects.
* *
* Jira Software enables {@code 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).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param createProjectDetails The JSON representation of the project being created. (required)
*/
@RequestLine("POST /rest/api/3/project")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createProject(@NotNull CreateProjectDetails createProjectDetails);
/**
* Load project avatar
*
* Loads an avatar for a project.
* Specify the avatar's local file location in the body of the request. Also, include the following headers:
* *
* {@code X-Atlassian-Token: no-check} To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).
* *
* {@code Content-Type: image/image type} Valid image types are JPEG, GIF, or PNG.
* For example:
* {@code curl --request POST }
* {@code --user [email protected] :<api_token> }
* {@code --header 'X-Atlassian-Token: no-check' }
* {@code --header 'Content-Type: image/< image_type>' }
* {@code --data-binary "<@/path/to/file/with/your/avatar>" }
* {@code --url 'https://your-domain.atlassian.net/rest/api/3/project/{projectIdOrKey}/avatar2'}
* The 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.
* The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
* After creating the avatar use [Set project avatar](#api-rest-api-3-project-projectIdOrKey-avatar-put) to set it as the project's displayed avatar.
* **[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).
*
* Authentication - Required Scopes: [manage:jira-project]
* @param projectIdOrKey The ID or (case-sensitive) key of the project. (required)
* @param body (required)
* @param x The X coordinate of the top-left corner of the crop region. (optional, defaults to 0)
* @param y The Y coordinate of the top-left corner of the crop region. (optional, defaults to 0)
* @param size The length of each side of the crop region. (optional)
*/
@RequestLine("POST /rest/api/3/project/{projectIdOrKey}/avatar2?x={x}&y={y}&size={size}")
@Headers({
"Content-Type: */*",
"Accept: application/json"
})
CompletableFuture createProjectAvatar(@Param("projectIdOrKey") @NotNull String projectIdOrKey, @NotNull Object body, @Param("x") @Nullable Integer x, @Param("y") @Nullable Integer y, @Param("size") @Nullable Integer size);
/**
* Create project category
*
* Creates a project category.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-project]
* @param projectCategory (required)
*/
@RequestLine("POST /rest/api/3/projectCategory")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createProjectCategory(@NotNull ProjectCategory projectCategory);
/**
* Create project role
*
* 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.
* *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.*<
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param createUpdateRoleRequestBean (required)
*/
@RequestLine("POST /rest/api/3/role")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createProjectRole(@NotNull CreateUpdateRoleRequestBean createUpdateRoleRequestBean);
/**
* Create related work
*
* Creates a related work for the given version. You can only create a generic link type of related works via this API. relatedWorkId will be auto-generated UUID, that does not need to be provided.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** *Resolve issues:* and *Edit issues* [Managing project permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the project that contains the version.
*
* Authentication - Required Scopes: [write:jira-work]
* @param id (required)
* @param versionRelatedWork (required)
*/
@RequestLine("POST /rest/api/3/version/{id}/relatedwork")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createRelatedWork(@Param("id") @NotNull String id, @NotNull VersionRelatedWork versionRelatedWork);
/**
* Create resolution
*
* Creates an issue resolution.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param createResolutionDetails (required)
*/
@RequestLine("POST /rest/api/3/resolution")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createResolution(@NotNull CreateResolutionDetails createResolutionDetails);
/**
* Create screen
*
* Creates a screen with a default field tab.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-project]
* @param screenDetails (required)
*/
@RequestLine("POST /rest/api/3/screens")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createScreen(@NotNull ScreenDetails screenDetails);
/**
* Create screen scheme
*
* Creates a screen scheme.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param screenSchemeDetails (required)
*/
@RequestLine("POST /rest/api/3/screenscheme")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createScreenScheme(@NotNull ScreenSchemeDetails screenSchemeDetails);
/**
* Bulk create statuses
*
* Creates statuses for a global or project scope.
* **[Permissions](#permissions) required:**
* *
* *Administer projects* [project permission.](https://confluence.atlassian.com/x/yodKLg)
* *
* *Administer Jira* [project permission.](https://confluence.atlassian.com/x/yodKLg)
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param statusCreateRequest Details of the statuses being created and their scope. (required)
*/
@RequestLine("POST /rest/api/3/statuses")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture> createStatuses(@NotNull StatusCreateRequest statusCreateRequest);
/**
* Create UI modification
*
* Creates a UI modification. UI modification can only be created by Forge apps.
* Each app can define up to 3000 UI modifications. Each UI modification can define up to 1000 contexts. The same context can be assigned to maximum 100 UI modifications.
* **[Permissions](#permissions) required:**
* *
* *None* if the UI modification is created without contexts.
* *
* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the UI modification is created with contexts.
*
* Authentication - Required Scopes: [read:jira-work]
* @param createUiModificationDetails Details of the UI modification. (required)
*/
@RequestLine("POST /rest/api/3/uiModifications")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createUiModification(@NotNull CreateUiModificationDetails createUiModificationDetails);
/**
* 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.
* 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 newUserDetails Details about the user to be created. (required)
*/
@RequestLine("POST /rest/api/3/user")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createUser(@NotNull NewUserDetails newUserDetails);
/**
* Create version
*
* Creates a project version.
* This operation can be accessed anonymously.
* **[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.
*
* Authentication - Required Scopes: [manage:jira-project]
* @param version (required)
*/
@RequestLine("POST /rest/api/3/version")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createVersion(@NotNull Version version);
/**
* 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. Note: This only applies to company-managed scoped workflows. Use [bulk create workflows](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflows/#api-rest-api-3-workflows-create-post) to create both team and company-managed scoped workflows.
* #### 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
*
*
*
* }
*
*
* }
* *
* {@code comparator} One of the supported comparator: {@code =}, {@code >}, and {@code <}.
* *
* {@code fieldId} The custom numeric field ID. Allowed field types:
*
*
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:float}
*
*
* *
* {@code com.pyxis.greenhopper.jira:jsw-story-points}
* *
* {@code 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 (deprecated) #####
* 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"
*
*
*
* }
*
*
* }
* *
* {@code 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 {@code previousStatus} object, matches any previous issue status, unless:
* *
* {@code ignoreLoopTransitions} is {@code true}, then loop transitions (from and to the same status) are ignored.
* *
* {@code includeCurrentStatus} is {@code true}, then the current issue status is also checked.
* *
* {@code mostRecentStatusOnly} is {@code true}, then only the issue's preceding status (the one immediately before the current status) is checked.
* *
* {@code reverseCondition} is {@code 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"
*
*
*
*
* }
*
*
*
* }
*
*
* }
* *
* {@code fromStatus} OPTIONAL. An object containing the ID of the source status of the transition that is blocked. If omitted any transition to {@code toStatus} is blocked.
* *
* {@code 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"
*
*
*
*
*
* }
*
*
*
*
* ]
*
*
*
* }
*
*
* }
* *
* {@code 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"
*
*
*
*
* ]
*
*
*
* }
*
*
* }
* *
* {@code 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"
*
*
*
*
*
* }
*
*
*
*
* ]
*
*
*
* }
*
*
* }
* *
* {@code 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"
*
*
*
* }
*
*
* }
* *
* {@code allowUserInField} If {@code true} only a user who is listed in {@code fieldId} can perform the transition, otherwise, only a user who is not listed in {@code fieldId} can perform the transition.
* *
* {@code 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"
*
*
*
* }
*
*
* }
* *
* {@code 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"
*
*
*
* }
*
*
* }
* *
* {@code fieldId} The ID of the field. Allowed field types:
*
*
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:grouppicker}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:select}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:multiselect}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes}
*
*
* *
* {@code com.pyxis.greenhopper.jira:gh-epic-status}
* ##### 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"
*
*
*
*
* }
*
*
*
* }
*
*
* }
* *
* {@code 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": "="
*
*
*
* }
*
*
* }
* *
* {@code fieldId} The ID of a field used in the comparison.
* *
* {@code fieldValue} The expected value of the field.
* *
* {@code comparisonType} The type of the comparison. Allowed values: {@code STRING}, {@code NUMBER}, {@code DATE}, {@code DATE_WITHOUT_TIME}, or {@code OPTIONID}.
* *
* {@code comparator} One of the supported comparator: {@code >}, {@code >=}, {@code =}, {@code <=}, {@code <}, {@code !=}.
* **Notes:**
* *
* If you choose the comparison type {@code STRING}, only {@code =} and {@code !=} are valid options.
* *
* You may leave {@code fieldValue} empty when comparison type is {@code !=} to indicate that a value is required in the field.
* *
* For date fields without time format values as {@code yyyy-MM-dd}, and for those with time as {@code yyyy-MM-dd HH:mm}. For example, for July 16 2021 use {@code 2021-07-16}, for 8:05 AM use {@code 2021-07-16 08:05}, and for 4 PM: {@code 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
*
*
*
*
* }
*
*
* }
* *
* {@code comparator} One of the supported comparator: {@code >}, {@code >=}, {@code =}, {@code <=}, {@code <}, or {@code !=}.
* *
* {@code date1} The date field to validate. Allowed field types:
*
*
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:datepicker}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:datetime}
*
*
* *
* {@code com.atlassian.jpo:jpo-custom-field-baseline-end}
*
*
* *
* {@code com.atlassian.jpo:jpo-custom-field-baseline-start}
*
*
* *
* {@code duedate}
*
*
* *
* {@code created}
*
*
* *
* {@code updated}
*
*
* *
* {@code resolutiondate}
* *
* {@code date2} The second date field. Required, if {@code expression} is not passed. Allowed field types:
*
*
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:datepicker}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:datetime}
*
*
* *
* {@code com.atlassian.jpo:jpo-custom-field-baseline-end}
*
*
* *
* {@code com.atlassian.jpo:jpo-custom-field-baseline-start}
*
*
* *
* {@code duedate}
*
*
* *
* {@code created}
*
*
* *
* {@code updated}
*
*
* *
* {@code resolutiondate}
* *
* {@code expression} An expression specifying an offset. Required, if {@code date2} is not passed. Offsets are built with a number, with {@code -} as prefix for the past, and one of these time units: {@code d} for day, {@code w} for week, {@code m} for month, or {@code y} for year. For example, -2d means two days into the past and 1w means one week into the future. The {@code now} keyword enables a comparison with the current date.
* *
* {@code includeTime} If {@code 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
*
*
*
*
* }
*
*
* }
* *
* {@code date1} The date field to validate. Allowed field types:
*
*
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:datepicker}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:datetime}
*
*
* *
* {@code com.atlassian.jpo:jpo-custom-field-baseline-end}
*
*
* *
* {@code com.atlassian.jpo:jpo-custom-field-baseline-start}
*
*
* *
* {@code duedate}
*
*
* *
* {@code created}
*
*
* *
* {@code updated}
*
*
* *
* {@code resolutiondate}
* *
* {@code date2} The reference date. Allowed field types:
*
*
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:datepicker}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:datetime}
*
*
* *
* {@code com.atlassian.jpo:jpo-custom-field-baseline-end}
*
*
* *
* {@code com.atlassian.jpo:jpo-custom-field-baseline-start}
*
*
* *
* {@code duedate}
*
*
* *
* {@code created}
*
*
* *
* {@code updated}
*
*
* *
* {@code resolutiondate}
* *
* {@code 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"
*
*
*
*
*
*
* ]
*
*
*
*
* }
*
*
* }
* *
* {@code ignoreContext} If {@code true}, then the context is ignored and all the fields are validated.
* *
* {@code 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.
* *
* {@code 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"
*
*
*
*
*
*
* ]
*
*
*
*
* }
*
*
* }
* *
* {@code fieldId} The ID of a field.
* *
* {@code 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.
* *
* {@code 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
*
*
*
*
* }
*
*
* }
* *
* {@code fieldId} The ID of a field.
* *
* {@code excludeSubtasks} If {@code 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"
*
*
*
*
*
*
*
*
* }
*
*
*
*
*
*
* ]
*
*
*
*
* }
*
*
* }
* *
* {@code 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"
*
*
*
* }
*
*
* }
* *
* {@code 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"
*
*
*
*
*
* }
*
*
*
* }
*
*
* }
* *
* {@code mostRecentStatusOnly} If {@code true}, then only the issue's preceding status (the one immediately before the current status) is checked.
* *
* {@code 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"
*
*
*
* }
*
*
* }
* *
* {@code regExp}A regular expression.
* *
* {@code fieldId} The ID of a field. Allowed field types:
*
*
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:select}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:multiselect}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:textarea}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:textfield}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:url}
*
*
* *
* {@code com.atlassian.jira.plugin.system.customfieldtypes:float}
*
*
* *
* {@code com.pyxis.greenhopper.jira:jsw-story-points}
*
*
* *
* {@code com.pyxis.greenhopper.jira:gh-epic-status}
*
*
* *
* {@code description}
*
*
* *
* {@code summary}
* ##### 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"
*
*
*
*
* }
*
*
* }
* *
* {@code 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.
* *
* {@code nullAllowed} If {@code true}, allows the transition when {@code username} is empty.
* *
* {@code username} The username to validate against the {@code 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 {@code FireIssueEventFunction}. Can be included once in a transition.
* *
* {@code 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 {@code 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"
*
*
*
* }
*
*
* }
* *
* {@code 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"
*
*
*
* }
*
*
* }
* *
* {@code sourceFieldId} The ID of the source field.
* *
* {@code destinationFieldId} The ID of the destination field.
* *
* {@code copyType} Use {@code same} to copy the value from a field inside the issue, or {@code parent} to copy the value from the parent issue.
* ##### Create Crucible review workflow function (deprecated) #####
* 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"
*
*
*
*
* }
*
*
*
* }
*
*
* }
* *
* {@code projectRole} An object containing the ID of the project role.
* *
* {@code issueSecurityLevel} OPTIONAL. The object containing the ID of the security level. If not passed, then the security level is set to {@code none}.
* ##### Trigger a webhook function #####
* A post function that triggers a webhook.
*
*
* {
*
*
*
* "type": "TriggerWebhookFunction",
*
*
*
* "configuration": {
*
*
*
*
* "webhook": {
*
*
*
*
*
* "id": "1"
*
*
*
*
* }
*
*
*
* }
*
*
* }
* *
* {@code 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"
*
*
*
* }
*
*
* }
* *
* {@code mode} Use {@code replace} to override the field content with {@code fieldValue} or {@code append} to add {@code fieldValue} to the end of the field content.
* *
* {@code fieldId} The ID of the field.
* *
* {@code fieldValue} The update content.
* ##### Update issue field function #####
* A post function that updates a simple issue field.
*
*
* {
*
*
*
* "type": "UpdateIssueFieldFunction",
*
*
*
* "configuration": {
*
*
*
*
* "fieldId": "assignee",
*
*
*
*
* "fieldValue": "5f0c277e70b8a90025a00776"
*
*
*
* }
*
*
* }
* *
* {@code fieldId} The ID of the field. Allowed field types:
*
*
*
*
* *
* {@code assignee}
*
*
* *
* {@code description}
*
*
* *
* {@code environment}
*
*
* *
* {@code priority}
*
*
* *
* {@code resolution}
*
*
* *
* {@code summary}
*
*
* *
* {@code timeoriginalestimate}
*
*
* *
* {@code timeestimate}
*
*
* *
* {@code timespent}
* *
* {@code fieldValue} The update value.
* *
* If the {@code fieldId} is {@code assignee}, the {@code fieldValue} should be one of these values:
*
*
*
*
* *
* an account ID.
*
*
* *
* {@code automatic}.
*
*
* *
* a blank string, which sets the value to {@code unassigned}.
* #### Connect rules ####
* Connect rules are conditions, validators, and post functions of a transition that are registered by Connect apps. To create a rule registered by the app, the app must be enabled and the rule's module must exist.
*
*
* {
*
*
*
* "type": "appKey__moduleKey",
*
*
*
* "configuration": {
*
*
*
*
* "value":"{\\"isValid\\":\\"true\\"}"
*
*
*
* }
*
*
* }
* *
* {@code type} A Connect rule key in a form of {@code appKey__moduleKey}.
* *
* {@code value} The stringified JSON configuration of a Connect rule.
* #### Forge rules ####
* Forge transition rules are not yet supported.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param createWorkflowDetails The workflow details. (required)
* @deprecated
*/
@Deprecated
@RequestLine("POST /rest/api/3/workflow")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createWorkflow(@NotNull CreateWorkflowDetails createWorkflowDetails);
/**
* Create workflow scheme
*
* Creates a workflow scheme.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param workflowScheme (required)
*/
@RequestLine("POST /rest/api/3/workflowscheme")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createWorkflowScheme(@NotNull WorkflowScheme workflowScheme);
/**
* Create draft workflow scheme
*
* 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.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param id The ID of the active workflow scheme that the draft is created from. (required)
*/
@RequestLine("POST /rest/api/3/workflowscheme/{id}/createdraft")
@Headers({
"Accept: application/json"
})
CompletableFuture createWorkflowSchemeDraftFromParent(@Param("id") @NotNull Long id);
/**
* Create workflow transition property
*
* 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).
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param transitionId 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)
* @param key The key of the property being added, also known as the name of the property. Set this to the same value as the {@code key} defined in the request body. (required)
* @param workflowName The name of the workflow that the transition belongs to. (required)
* @param workflowTransitionProperty (required)
* @param workflowMode The workflow status. Set to *live* for inactive workflows or *draft* for draft workflows. Active workflows cannot be edited. (optional, defaults to live)
*/
@RequestLine("POST /rest/api/3/workflow/transitions/{transitionId}/properties?key={key}&workflowName={workflowName}&workflowMode={workflowMode}")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createWorkflowTransitionProperty(@Param("transitionId") @NotNull Long transitionId, @Param("key") @NotNull String key, @Param("workflowName") @NotNull String workflowName, @NotNull WorkflowTransitionProperty workflowTransitionProperty, @Param("workflowMode") @Nullable String workflowMode);
/**
* Bulk create workflows
*
* Create workflows and related statuses.
* **[Permissions](#permissions) required:**
* *
* *Administer Jira* project permission to create all, including global-scoped, workflows
* *
* *Administer projects* project permissions to create project-scoped workflows
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param workflowCreateRequest (required)
*/
@RequestLine("POST /rest/api/3/workflows/create")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture createWorkflows(@NotNull WorkflowCreateRequest workflowCreateRequest);
/**
* Delete actors from project role
*
* Deletes actors from a project role for the project.
* To remove default actors from the project role, use [Delete default actors from project role](#api-rest-api-3-role-id-actors-delete).
* This operation can be accessed anonymously.
* **[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).
*
* Authentication - Required Scopes: [manage:jira-project]
* @param projectIdOrKey The project ID or project key (case sensitive). (required)
* @param id 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)
* @param user The user account ID of the user to remove from the project role. (optional)
* @param group The name of the group to remove from the project role. This parameter cannot be used with the {@code groupId} parameter. As a group's name can change, use of {@code groupId} is recommended. (optional)
* @param groupId The ID of the group to remove from the project role. This parameter cannot be used with the {@code group} parameter. (optional)
*/
@RequestLine("DELETE /rest/api/3/project/{projectIdOrKey}/role/{id}?user={user}&group={group}&groupId={groupId}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteActor(@Param("projectIdOrKey") @NotNull String projectIdOrKey, @Param("id") @NotNull Long id, @Param("user") @Nullable String user, @Param("group") @Nullable String group, @Param("groupId") @Nullable String groupId);
/**
* Delete and replace version
*
* Deletes a project version.
* Alternative versions can be provided to update issues that use the deleted version in {@code fixVersion}, {@code affectedVersion}, or any version picker custom fields. If alternatives are not provided, occurrences of {@code fixVersion}, {@code 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.
* This operation can be accessed anonymously.
* **[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.
*
* Authentication - Required Scopes: [manage:jira-project]
* @param id The ID of the version. (required)
* @param deleteAndReplaceVersionBean (required)
*/
@RequestLine("POST /rest/api/3/version/{id}/removeAndSwap")
@Headers({
"Content-Type: application/json",
"Accept: application/json"
})
CompletableFuture deleteAndReplaceVersion(@Param("id") @NotNull String id, @NotNull DeleteAndReplaceVersionBean deleteAndReplaceVersionBean);
/**
* Delete avatar
*
* Deletes an avatar from a project or issue type.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param type The avatar type. (required)
* @param owningObjectId The ID of the item the avatar is associated with. (required)
* @param id The ID of the avatar. (required)
*/
@RequestLine("DELETE /rest/api/3/universal_avatar/type/{type}/owner/{owningObjectId}/avatar/{id}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteAvatar(@Param("type") @NotNull String type, @Param("owningObjectId") @NotNull String owningObjectId, @Param("id") @NotNull Long id);
/**
* Delete comment
*
* Deletes a comment.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *
* *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,
* *
* If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.
*
* Authentication - Required Scopes: [write:jira-work]
* @param issueIdOrKey The ID or key of the issue. (required)
* @param id The ID of the comment. (required)
*/
@RequestLine("DELETE /rest/api/3/issue/{issueIdOrKey}/comment/{id}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteComment(@Param("issueIdOrKey") @NotNull String issueIdOrKey, @Param("id") @NotNull String id);
/**
* Delete comment property
*
* Deletes a comment property.
* **[Permissions](#permissions) required:** either of:
* *
* *Edit All Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from any comment.
* *
* *Edit Own Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from a comment created by the user.
* Also, when the visibility of a comment is restricted to a role or group the user must be a member of that role or group.
*
* Authentication - Required Scopes: [write:jira-work]
* @param commentId The ID of the comment. (required)
* @param propertyKey The key of the property. (required)
*/
@RequestLine("DELETE /rest/api/3/comment/{commentId}/properties/{propertyKey}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteCommentProperty(@Param("commentId") @NotNull String commentId, @Param("propertyKey") @NotNull String propertyKey);
/**
* Delete component
*
* Deletes a component.
* 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).
*
* Authentication - Required Scopes: [manage:jira-project]
* @param id The ID of the component. (required)
* @param moveIssuesTo The ID of the component to replace the deleted component. If this value is null no replacement is made. (optional)
*/
@RequestLine("DELETE /rest/api/3/component/{id}?moveIssuesTo={moveIssuesTo}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteComponent(@Param("id") @NotNull String id, @Param("moveIssuesTo") @Nullable String moveIssuesTo);
/**
* Delete custom field
*
* Deletes a custom field. The custom field is deleted whether it is in the trash or not. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw) for more information on trashing and deleting custom fields.
* This operation is [asynchronous](#async). Follow the {@code 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:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param id The ID of a custom field. (required)
*/
@RequestLine("DELETE /rest/api/3/field/{id}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteCustomField(@Param("id") @NotNull String id);
/**
* Delete custom field context
*
* 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).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param fieldId The ID of the custom field. (required)
* @param contextId The ID of the context. (required)
*/
@RequestLine("DELETE /rest/api/3/field/{fieldId}/context/{contextId}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteCustomFieldContext(@Param("fieldId") @NotNull String fieldId, @Param("contextId") @NotNull Long contextId);
/**
* 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).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @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)
*/
@RequestLine("DELETE /rest/api/3/field/{fieldId}/context/{contextId}/option/{optionId}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteCustomFieldOption(@Param("fieldId") @NotNull String fieldId, @Param("contextId") @NotNull Long contextId, @Param("optionId") @NotNull Long optionId);
/**
* Delete dashboard
*
* Deletes a dashboard.
* **[Permissions](#permissions) required:** None
* The dashboard to be deleted must be owned by the user.
*
* Authentication - Required Scopes: [write:jira-work]
* @param id The ID of the dashboard. (required)
*/
@RequestLine("DELETE /rest/api/3/dashboard/{id}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteDashboard(@Param("id") @NotNull String id);
/**
* Delete dashboard item property
*
* Deletes a dashboard item property.
* This operation can be accessed anonymously.
* **[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.
*
* Authentication - Required Scopes: [write:jira-work]
* @param dashboardId The ID of the dashboard. (required)
* @param itemId The ID of the dashboard item. (required)
* @param propertyKey The key of the dashboard item property. (required)
*/
@RequestLine("DELETE /rest/api/3/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteDashboardItemProperty(@Param("dashboardId") @NotNull String dashboardId, @Param("itemId") @NotNull String itemId, @Param("propertyKey") @NotNull String propertyKey);
/**
* Delete default workflow
*
* Resets the default workflow for a workflow scheme. That is, the default workflow is set to Jira's system workflow (the *jira* workflow).
* Note that active workflow schemes cannot be edited. If the workflow scheme is active, set {@code updateDraftIfNeeded} to {@code true} and a draft workflow scheme is created or updated with the default workflow reset. The draft workflow scheme can be published in Jira.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param id The ID of the workflow scheme. (required)
* @param updateDraftIfNeeded 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 {@code false}. (optional)
*/
@RequestLine("DELETE /rest/api/3/workflowscheme/{id}/default?updateDraftIfNeeded={updateDraftIfNeeded}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteDefaultWorkflow(@Param("id") @NotNull Long id, @Param("updateDraftIfNeeded") @Nullable Boolean updateDraftIfNeeded);
/**
* Delete draft default workflow
*
* 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).
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param id The ID of the workflow scheme that the draft belongs to. (required)
*/
@RequestLine("DELETE /rest/api/3/workflowscheme/{id}/draft/default")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteDraftDefaultWorkflow(@Param("id") @NotNull Long id);
/**
* Delete issue types for workflow in draft workflow scheme
*
* Deletes the workflow-issue type mapping for a workflow in a workflow scheme's draft.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param id The ID of the workflow scheme that the draft belongs to. (required)
* @param workflowName The name of the workflow. (required)
*/
@RequestLine("DELETE /rest/api/3/workflowscheme/{id}/draft/workflow?workflowName={workflowName}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteDraftWorkflowMapping(@Param("id") @NotNull Long id, @Param("workflowName") @NotNull String workflowName);
/**
* Remove filter as favorite
*
* 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.
* **[Permissions](#permissions) required:** Permission to access Jira.
*
* Authentication - Required Scopes: [write:jira-work]
* @param id The ID of the filter. (required)
* @param expand Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include: * {@code 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 {@code sharedUsers}, then the {@code 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 {@code [start-index:end-index]} to the expand request. For example, to access the next 1000 users, use {@code ?expand=sharedUsers[1001:2000]}. * {@code subscriptions} Returns the users that are subscribed to the filter. If you don't specify {@code subscriptions}, the {@code 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 {@code [start-index:end-index]} to the expand request. For example, to access the next 1000 subscriptions, use {@code ?expand=subscriptions[1001:2000]}. (optional)
*/
@RequestLine("DELETE /rest/api/3/filter/{id}/favourite?expand={expand}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteFavouriteForFilter(@Param("id") @NotNull Long id, @Param("expand") @Nullable String expand);
/**
* Delete field configuration
*
* Deletes a field configuration.
* This operation can only delete configurations used in company-managed (classic) projects.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param id The ID of the field configuration. (required)
*/
@RequestLine("DELETE /rest/api/3/fieldconfiguration/{id}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteFieldConfiguration(@Param("id") @NotNull Long id);
/**
* Delete field configuration scheme
*
* Deletes a field configuration scheme.
* This operation can only delete field configuration schemes used in company-managed (classic) projects.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param id The ID of the field configuration scheme. (required)
*/
@RequestLine("DELETE /rest/api/3/fieldconfigurationscheme/{id}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteFieldConfigurationScheme(@Param("id") @NotNull Long id);
/**
* Delete filter
*
* Delete a filter.
* **[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).
*
* Authentication - Required Scopes: [write:jira-work]
* @param id The ID of the filter to delete. (required)
*/
@RequestLine("DELETE /rest/api/3/filter/{id}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteFilter(@Param("id") @NotNull Long id);
/**
* 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).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param entityId The entity ID of the workflow. (required)
*/
@RequestLine("DELETE /rest/api/3/workflow/{entityId}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteInactiveWorkflow(@Param("entityId") @NotNull String entityId);
/**
* Delete issue
*
* Deletes an issue.
* An issue cannot be deleted if it has one or more subtasks. To delete an issue with subtasks, set {@code deleteSubtasks}. This causes the issue's subtasks to be deleted with the issue.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* and *Delete issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
*
* Authentication - Required Scopes: [write:jira-work]
* @param issueIdOrKey The ID or key of the issue. (required)
* @param deleteSubtasks Whether the issue's subtasks are deleted when the issue is deleted. (optional, defaults to false)
*/
@RequestLine("DELETE /rest/api/3/issue/{issueIdOrKey}?deleteSubtasks={deleteSubtasks}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteIssue(@Param("issueIdOrKey") @NotNull String issueIdOrKey, @Param("deleteSubtasks") @Nullable String deleteSubtasks);
/**
* Delete issue field option
*
* Deletes an option from a select list issue field.
* Note 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.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param fieldKey The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the {@code fieldKey} value, do one of the following: * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the {@code jiraIssueFields} module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager. * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in {@code key}. For example, {@code "key": "teams-add-on__team-issue-field"} (required)
* @param optionId The ID of the option to be deleted. (required)
*/
@RequestLine("DELETE /rest/api/3/field/{fieldKey}/option/{optionId}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteIssueFieldOption(@Param("fieldKey") @NotNull String fieldKey, @Param("optionId") @NotNull Long optionId);
/**
* Delete issue link
*
* Deletes an issue link.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* Browse project [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the issues in the link.
* *
* *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one of the projects containing issues in the link.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the issues.
*
* Authentication - Required Scopes: [write:jira-work]
* @param linkId The ID of the issue link. (required)
*/
@RequestLine("DELETE /rest/api/3/issueLink/{linkId}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteIssueLink(@Param("linkId") @NotNull String linkId);
/**
* Delete issue link type
*
* Deletes an issue link type.
* To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param issueLinkTypeId The ID of the issue link type. (required)
*/
@RequestLine("DELETE /rest/api/3/issueLinkType/{issueLinkTypeId}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteIssueLinkType(@Param("issueLinkTypeId") @NotNull String issueLinkTypeId);
/**
* Delete issue property
*
* Deletes an issue's property.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
*
* Authentication - Required Scopes: [write:jira-work]
* @param issueIdOrKey The key or ID of the issue. (required)
* @param propertyKey The key of the property. (required)
*/
@RequestLine("DELETE /rest/api/3/issue/{issueIdOrKey}/properties/{propertyKey}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteIssueProperty(@Param("issueIdOrKey") @NotNull String issueIdOrKey, @Param("propertyKey") @NotNull String propertyKey);
/**
* Delete issue type
*
* Deletes the issue type. If the issue type is in use, all uses are updated with the alternative issue type ({@code alternativeIssueTypeId}). A list of alternative issue types are obtained from the [Get alternative issue types](#api-rest-api-3-issuetype-id-alternatives-get) resource.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param id The ID of the issue type. (required)
* @param alternativeIssueTypeId The ID of the replacement issue type. (optional)
*/
@RequestLine("DELETE /rest/api/3/issuetype/{id}?alternativeIssueTypeId={alternativeIssueTypeId}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteIssueType(@Param("id") @NotNull String id, @Param("alternativeIssueTypeId") @Nullable String alternativeIssueTypeId);
/**
* Delete issue type property
*
* 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).
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param issueTypeId The ID of the issue type. (required)
* @param propertyKey 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)
*/
@RequestLine("DELETE /rest/api/3/issuetype/{issueTypeId}/properties/{propertyKey}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteIssueTypeProperty(@Param("issueTypeId") @NotNull String issueTypeId, @Param("propertyKey") @NotNull String propertyKey);
/**
* Delete issue type scheme
*
* Deletes an issue type scheme.
* Only issue type schemes used in classic projects can be deleted.
* Any projects assigned to the scheme are reassigned to the default issue type scheme.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param issueTypeSchemeId The ID of the issue type scheme. (required)
*/
@RequestLine("DELETE /rest/api/3/issuetypescheme/{issueTypeSchemeId}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteIssueTypeScheme(@Param("issueTypeSchemeId") @NotNull Long issueTypeSchemeId);
/**
* Delete issue type screen scheme
*
* Deletes an issue type screen scheme.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param issueTypeScreenSchemeId The ID of the issue type screen scheme. (required)
*/
@RequestLine("DELETE /rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteIssueTypeScreenScheme(@Param("issueTypeScreenSchemeId") @NotNull String issueTypeScreenSchemeId);
/**
* Delete locale
*
* 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.
* Deletes the locale of the user, which restores the default setting.
* **[Permissions](#permissions) required:** Permission to access Jira.
*
* @deprecated
*/
@Deprecated
@RequestLine("DELETE /rest/api/3/mypreferences/locale")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteLocale();
/**
* Delete notification scheme
*
* Deletes a notification scheme.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param notificationSchemeId The ID of the notification scheme. (required)
*/
@RequestLine("DELETE /rest/api/3/notificationscheme/{notificationSchemeId}")
@Headers({
"Accept: application/json"
})
CompletableFuture deleteNotificationScheme(@Param("notificationSchemeId") @NotNull String notificationSchemeId);
/**
* Delete permission scheme
*
* Deletes a permission scheme.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param schemeId The ID of the permission scheme being deleted. (required)
*/
@RequestLine("DELETE /rest/api/3/permissionscheme/{schemeId}")
@Headers({
"Accept: application/json"
})
CompletableFuture deletePermissionScheme(@Param("schemeId") @NotNull Long schemeId);
/**
* Delete permission scheme grant
*
* 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).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @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)
*/
@RequestLine("DELETE /rest/api/3/permissionscheme/{schemeId}/permission/{permissionId}")
@Headers({
"Accept: application/json"
})
CompletableFuture deletePermissionSchemeEntity(@Param("schemeId") @NotNull Long schemeId, @Param("permissionId") @NotNull Long permissionId);
/**
* Delete priority
*
* *Deprecated: please refer to the* [changelog](https://developer.atlassian.com/changelog/#CHANGE-1066) *for more details.*
* Deletes an issue priority.
* This operation is [asynchronous](#async). Follow the {@code 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:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*
* Authentication - Required Scopes: [manage:jira-configuration]
* @param id The ID of the issue priority. (required)
* @param replaceWith The ID of the issue priority that will replace the currently selected resolution. (required)
* @deprecated
*/
@Deprecated
@RequestLine("DELETE /rest/api/3/priority/{id}?replaceWith={replaceWith}")
@Headers({
"Accept: application/json"
})
CompletableFuture