io.github.primelib.jira4j.restv3.api.JiraRESTV3ConsumerApi Maven / Gradle / Ivy
Show all versions of jira4j-rest-v3 Show documentation
package io.github.primelib.jira4j.restv3.api;
import java.util.List;
import java.util.Map;
import javax.annotation.processing.Generated;
import io.github.primelib.jira4j.restv3.model.AnnouncementBannerConfiguration;
import io.github.primelib.jira4j.restv3.model.ApplicationProperty;
import io.github.primelib.jira4j.restv3.model.ApplicationRole;
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.BulkEditShareableEntityResponse;
import io.github.primelib.jira4j.restv3.model.BulkIssueIsWatching;
import io.github.primelib.jira4j.restv3.model.BulkPermissionGrants;
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.ConnectModules;
import io.github.primelib.jira4j.restv3.model.ContainerForProjectFeatures;
import io.github.primelib.jira4j.restv3.model.ContainerForRegisteredWebhooks;
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.CreatedIssue;
import io.github.primelib.jira4j.restv3.model.CreatedIssues;
import io.github.primelib.jira4j.restv3.model.CustomFieldCreatedContextOptionsList;
import io.github.primelib.jira4j.restv3.model.CustomFieldOption;
import io.github.primelib.jira4j.restv3.model.CustomFieldUpdatedContextOptionsList;
import io.github.primelib.jira4j.restv3.model.Dashboard;
import io.github.primelib.jira4j.restv3.model.DashboardGadget;
import io.github.primelib.jira4j.restv3.model.DashboardGadgetResponse;
import io.github.primelib.jira4j.restv3.model.DefaultShareScope;
import io.github.primelib.jira4j.restv3.model.DefaultWorkflow;
import io.github.primelib.jira4j.restv3.model.DeprecatedWorkflow;
import io.github.primelib.jira4j.restv3.model.EntityProperty;
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.FieldConfigurationScheme;
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.Group;
import io.github.primelib.jira4j.restv3.model.GroupName;
import io.github.primelib.jira4j.restv3.model.IssueArchivalSyncResponse;
import io.github.primelib.jira4j.restv3.model.IssueBean;
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.IssueLink;
import io.github.primelib.jira4j.restv3.model.IssueLinkType;
import io.github.primelib.jira4j.restv3.model.IssueLinkTypes;
import io.github.primelib.jira4j.restv3.model.IssueMatches;
import io.github.primelib.jira4j.restv3.model.IssuePickerSuggestions;
import io.github.primelib.jira4j.restv3.model.IssueTypeDetails;
import io.github.primelib.jira4j.restv3.model.IssueTypeSchemeID;
import io.github.primelib.jira4j.restv3.model.IssueTypeScreenSchemeId;
import io.github.primelib.jira4j.restv3.model.IssueTypeScreenSchemeProjectAssociation;
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.IssueUpdateMetadata;
import io.github.primelib.jira4j.restv3.model.JQLReferenceData;
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.License;
import io.github.primelib.jira4j.restv3.model.LicenseMetric;
import io.github.primelib.jira4j.restv3.model.Locale;
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.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.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.ProjectIdentifiers;
import io.github.primelib.jira4j.restv3.model.ProjectIssueSecurityLevels;
import io.github.primelib.jira4j.restv3.model.ProjectIssueTypeHierarchy;
import io.github.primelib.jira4j.restv3.model.ProjectRole;
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.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.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.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.SharePermission;
import io.github.primelib.jira4j.restv3.model.StatusCategory;
import io.github.primelib.jira4j.restv3.model.StatusDetails;
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.UpdateDefaultScreenScheme;
import io.github.primelib.jira4j.restv3.model.UpdatedProjectCategory;
import io.github.primelib.jira4j.restv3.model.User;
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.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.WebhooksExpirationDate;
import io.github.primelib.jira4j.restv3.model.WorkflowCapabilities;
import io.github.primelib.jira4j.restv3.model.WorkflowCreateResponse;
import io.github.primelib.jira4j.restv3.model.WorkflowIDs;
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.WorkflowSchemeReadResponse;
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.WorkflowUpdateResponse;
import io.github.primelib.jira4j.restv3.model.WorkflowValidationErrorList;
import io.github.primelib.jira4j.restv3.model.Worklog;
import java.util.function.Consumer;
import io.github.primelib.jira4j.restv3.spec.AddActorUsersOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddAttachmentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddCommentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddFieldToDefaultScreenOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddGadgetOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddIssueTypesToContextOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddIssueTypesToIssueTypeSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddNotificationsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddProjectRoleActorsToRoleOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddScreenTabOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddScreenTabFieldOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddSecurityLevelOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddSecurityLevelMembersOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddSharePermissionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddUserToGroupOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddVoteOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddWatcherOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddWorklogOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddonPropertiesResourceDeleteAddonPropertyDeleteOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddonPropertiesResourceDeleteAppPropertyDeleteOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddonPropertiesResourceGetAddonPropertiesGetOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddonPropertiesResourceGetAddonPropertyGetOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddonPropertiesResourcePutAddonPropertyPutOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AddonPropertiesResourcePutAppPropertyPutOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AnalyseExpressionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AppIssueFieldValueUpdateResourceUpdateIssueFieldsPutOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AppendMappingsForIssueTypeScreenSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ArchiveIssuesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ArchiveIssuesAsyncOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ArchiveProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AssignFieldConfigurationSchemeToProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AssignIssueOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AssignIssueTypeSchemeToProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AssignIssueTypeScreenSchemeToProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AssignPermissionSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AssignProjectsToCustomFieldContextOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AssignSchemeToProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.AssociateSchemesToProjectsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.BulkDeleteIssuePropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.BulkEditDashboardsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.BulkGetGroupsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.BulkGetUsersOperationSpec;
import io.github.primelib.jira4j.restv3.spec.BulkGetUsersMigrationOperationSpec;
import io.github.primelib.jira4j.restv3.spec.BulkSetIssuePropertiesByIssueOperationSpec;
import io.github.primelib.jira4j.restv3.spec.BulkSetIssuePropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.BulkSetIssuesPropertiesListOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CancelTaskOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ChangeFilterOwnerOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CopyDashboardOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateComponentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateCustomFieldOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateCustomFieldContextOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateCustomFieldOptionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateDashboardOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateFieldConfigurationOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateFieldConfigurationSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateFilterOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateGroupOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateIssueOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateIssueFieldOptionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateIssueLinkTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateIssueSecuritySchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateIssueTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateIssueTypeAvatarOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateIssueTypeSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateIssueTypeScreenSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateIssuesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateNotificationSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateOrUpdateRemoteIssueLinkOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreatePermissionGrantOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreatePermissionSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreatePriorityOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateProjectAvatarOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateProjectCategoryOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateProjectRoleOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateRelatedWorkOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateResolutionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateScreenOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateScreenSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateStatusesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateUiModificationOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateUserOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateVersionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateWorkflowOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateWorkflowSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateWorkflowSchemeDraftFromParentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateWorkflowTransitionPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.CreateWorkflowsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteActorOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteAndReplaceVersionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteAvatarOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteCommentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteCommentPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteComponentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteCustomFieldOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteCustomFieldContextOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteCustomFieldOptionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteDashboardOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteDashboardItemPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteDefaultWorkflowOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteDraftDefaultWorkflowOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteDraftWorkflowMappingOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteFavouriteForFilterOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteFieldConfigurationOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteFieldConfigurationSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteFilterOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteInactiveWorkflowOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteIssueOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteIssueFieldOptionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteIssueLinkOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteIssueLinkTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteIssuePropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteIssueTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteIssueTypePropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteIssueTypeSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteIssueTypeScreenSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteNotificationSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeletePermissionSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeletePermissionSchemeEntityOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeletePriorityOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteProjectAsynchronouslyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteProjectAvatarOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteProjectPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteProjectRoleOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteProjectRoleActorsFromRoleOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteRelatedWorkOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteRemoteIssueLinkByGlobalIdOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteRemoteIssueLinkByIdOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteResolutionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteScreenOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteScreenSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteScreenTabOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteSecuritySchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteSharePermissionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteStatusesByIdOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteUiModificationOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteUserPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteVersionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteWebhookByIdOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteWorkflowMappingOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteWorkflowSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteWorkflowSchemeDraftOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteWorkflowSchemeDraftIssueTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteWorkflowSchemeIssueTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteWorkflowTransitionPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteWorkflowTransitionRuleConfigurationsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteWorklogOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DeleteWorklogPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DoTransitionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DynamicModulesResourceRegisterModulesPostOperationSpec;
import io.github.primelib.jira4j.restv3.spec.DynamicModulesResourceRemoveModulesDeleteOperationSpec;
import io.github.primelib.jira4j.restv3.spec.EditIssueOperationSpec;
import io.github.primelib.jira4j.restv3.spec.EvaluateJiraExpressionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ExpandAttachmentForHumansOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ExpandAttachmentForMachinesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ExportArchivedIssuesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.FindAssignableUsersOperationSpec;
import io.github.primelib.jira4j.restv3.spec.FindBulkAssignableUsersOperationSpec;
import io.github.primelib.jira4j.restv3.spec.FindGroupsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.FindUserKeysByQueryOperationSpec;
import io.github.primelib.jira4j.restv3.spec.FindUsersOperationSpec;
import io.github.primelib.jira4j.restv3.spec.FindUsersAndGroupsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.FindUsersByQueryOperationSpec;
import io.github.primelib.jira4j.restv3.spec.FindUsersForPickerOperationSpec;
import io.github.primelib.jira4j.restv3.spec.FindUsersWithAllPermissionsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.FindUsersWithBrowsePermissionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.FullyUpdateProjectRoleOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAccessibleProjectTypeByKeyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllDashboardsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllFieldConfigurationsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllFieldgRnfigurationSchemesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllGadgetsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllIssueFieldOptionsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllIssueTypeSchemesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllLabelsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllPermissionSchemesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllProjectAvatarsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllProjectsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllScreenTabFieldsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllScreenTabsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllStatusesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllSystemAvatarsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllUsersOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllUsersDefaultOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllWorkflowSchemesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAllWorkflowsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAlternativeIssueTypesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetApplicationPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetApplicationRoleOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetApproximateApplicationLicenseCountOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAssignedPermissionSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAttachmentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAttachmentContentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAttachmentThumbnailOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAuditRecordsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAutoCompletePostOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAvailableScreenFieldsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAvatarImageByIDOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAvatarImageByOwnerOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAvatarImageByTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetAvatarsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetBulkPermissionsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetBulkScreenTabsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetChangeLogsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetChangeLogsByIdsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetColumnsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetCommentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetCommentPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetCommentPropertyKeysOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetCommentsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetCommentsByIdsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetComponentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetComponentRelatedIssuesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetContextsForFieldOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetContextsForFieldDeprecatedOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetCreateIssueMetaOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetCreateIssueMetaIssueTypeIdOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetCreateIssueMetaIssueTypesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetCurrentUserOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetCustomFieldConfigurationOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetCustomFieldContextsForProjectsAndIssueTypesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetCustomFieldOptionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetDashboardOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetDashboardItemPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetDashboardItemPropertyKeysOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetDashboardsPaginatedOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetDefaultValuesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetDefaultWorkflowOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetDraftDefaultWorkflowOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetDraftWorkflowOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetDynamicWebhooksForAppOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetEditIssueMetaOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetFailedWebhooksOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetFavouriteFiltersOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetFeaturesForProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetFieldAutoCompleteForQueryStringOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetFieldConfigurationItemsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetFieldConfigurationSchemeMappingsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetFieldConfigurationSchemeProjectMappingOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetFieldsPaginatedOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetFilterOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetFiltersPaginatedOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetGroupOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetHierarchyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIdsOfWorklogsDeletedSinceOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIdsOfWorklogsModifiedSinceOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIsWatchingIssueBulkOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueFieldOptionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueLinkOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueLinkTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssuePickerResourceOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssuePropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssuePropertyKeysOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueSecurityLevelOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueSecurityLevelMembersOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueSecuritySchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueTypeMappingsForContextsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueTypePropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueTypePropertyKeysOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueTypeSchemeForProjectsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueTypeSchemesMappingOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueTypeScreenSchemeMappingsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueTypeScreenSchemeProjectAssociationsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueTypeScreenSchemesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueTypesForProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueWatchersOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetIssueWorklogOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetMyFiltersOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetMyPermissionsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetNotificationSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetNotificationSchemeForProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetNotificationSchemeToProjectMappingsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetNotificationSchemesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetOptionsForContextOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetPermissionSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetPermissionSchemeGrantOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetPermissionSchemeGrantsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetPermittedProjectsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetPrecomputationsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetPreferenceOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetPriorityOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectCategoryByIdOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectComponentsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectComponentsPaginatedOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectContextMappingOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectEmailOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectIssueSecuritySchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectPropertyKeysOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectRoleOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectRoleActorsForRoleOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectRoleByIdOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectRoleDetailsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectRolesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectTypeByKeyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectVersionsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectVersionsPaginatedOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetProjectsForIssueTypeScreenSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetRecentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetRelatedWorkOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetRemoteIssueLinkByIdOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetRemoteIssueLinksOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetResolutionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetScreenSchemesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetScreensOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetScreensForFieldOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetSecurityLevelMembersOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetSecurityLevelsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetSecurityLevelsForProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetSelectableIssueFieldOptionsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetSharePermissionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetSharePermissionsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetStatusOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetStatusCategoryOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetStatusesByIdOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetTaskOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetTransitionsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetTrashedFieldsPaginatedOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetUiModificationsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetUserOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetUserDefaultColumnsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetUserEmailOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetUserEmailBulkOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetUserGroupsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetUserPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetUserPropertyKeysOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetUsersFromGroupOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetValidProjectKeyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetValidProjectNameOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetVersionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetVersionRelatedIssuesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetVersionUnresolvedIssuesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetVisibleIssueFieldOptionsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetVotesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetWorkflowOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetWorkflowSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetWorkflowSchemeDraftOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetWorkflowSchemeDraftIssueTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetWorkflowSchemeIssueTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetWorkflowSchemeProjectAssociationsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetWorkflowTransitionPropertiesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetWorkflowTransitionRuleConfigurationsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetWorkflowsPaginatedOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetWorklogOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetWorklogPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetWorklogPropertyKeysOperationSpec;
import io.github.primelib.jira4j.restv3.spec.GetWorklogsForIdsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.LinkIssuesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.MatchIssuesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.MergeVersionsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.MigrateQueriesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.MigrationResourceUpdateEntityPropertiesValuePutOperationSpec;
import io.github.primelib.jira4j.restv3.spec.MigrationResourceWorkflowRuleSearchPostOperationSpec;
import io.github.primelib.jira4j.restv3.spec.MovePrioritiesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.MoveResolutionsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.MoveScreenTabOperationSpec;
import io.github.primelib.jira4j.restv3.spec.MoveScreenTabFieldOperationSpec;
import io.github.primelib.jira4j.restv3.spec.MoveVersionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.NotifyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ParseJqlQueriesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.PartialUpdateProjectRoleOperationSpec;
import io.github.primelib.jira4j.restv3.spec.PublishDraftWorkflowSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ReadWorkflowSchemesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ReadWorkflowsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RefreshWebhooksOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RegisterDynamicWebhooksOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveAttachmentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveCustomFieldContextFromProjectsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveGadgetOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveGroupOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveIssueTypeFromIssueTypeSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveIssueTypesFromContextOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveIssueTypesFromGlobalFieldConfigurationSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveLevelOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveMappingsFromIssueTypeScreenSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveMemberFromSecurityLevelOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveNotificationFromNotificationSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemovePreferenceOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveProjectCategoryOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveScreenTabFieldOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveUserOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveUserFromGroupOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveVoteOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RemoveWatcherOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RenameScreenTabOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ReorderCustomFieldOptionsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ReorderIssueTypesInIssueTypeSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ReplaceIssueFieldOptionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ResetColumnsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ResetUserColumnsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RestoreOperationSpec;
import io.github.primelib.jira4j.restv3.spec.RestoreCustomFieldOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SanitiseJqlQueriesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SearchOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SearchForIssuesUsingJqlOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SearchForIssuesUsingJqlPostOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SearchPrioritiesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SearchProjectsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SearchProjectsUsingSecuritySchemesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SearchResolutionsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SearchSecuritySchemesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SelectTimeTrackingImplementationOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ServiceRegistryResourceServicesGetOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetActorsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetApplicationPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetBannerOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetColumnsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetCommentPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetDashboardItemPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetDefaultLevelsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetDefaultPriorityOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetDefaultResolutionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetDefaultShareScopeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetDefaultValuesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetFavouriteForFilterOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetFieldConfigurationSchemeMappingOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetIssueNavigatorDefaultColumnsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetIssuePropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetIssueTypePropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetLocaleOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetPreferenceOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetProjectPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetSharedTimeTrackingConfigurationOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetUserColumnsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetUserPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetWorkflowSchemeDraftIssueTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetWorkflowSchemeIssueTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.SetWorklogPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.StoreAvatarOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ToggleFeatureForProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.TrashCustomFieldOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UnarchiveIssuesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateCommentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateComponentOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateCustomFieldOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateCustomFieldConfigurationOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateCustomFieldContextOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateCustomFieldOptionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateCustomFieldValueOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateDashboardOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateDefaultScreenSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateDefaultWorkflowOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateDraftDefaultWorkflowOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateDraftWorkflowMappingOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateFieldConfigurationOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateFieldConfigurationItemsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateFieldConfigurationSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateFilterOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateGadgetOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateIssueFieldOptionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateIssueLinkTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateIssueSecuritySchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateIssueTypeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateIssueTypeSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateIssueTypeScreenSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateMultipleCustomFieldValuesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateNotificationSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdatePermissionSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdatePrecomputationsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdatePriorityOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateProjectOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateProjectAvatarOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateProjectCategoryOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateProjectEmailOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateRelatedWorkOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateRemoteIssueLinkOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateResolutionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateSchemesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateScreenOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateScreenSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateSecurityLevelOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateStatusesOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateUiModificationOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateVersionOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateWorkflowMappingOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateWorkflowSchemeOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateWorkflowSchemeDraftOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateWorkflowSchemeMappingsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateWorkflowTransitionPropertyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateWorkflowTransitionRuleConfigurationsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateWorkflowsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.UpdateWorklogOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ValidateCreateWorkflowsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ValidateProjectKeyOperationSpec;
import io.github.primelib.jira4j.restv3.spec.ValidateUpdateWorkflowsOperationSpec;
import io.github.primelib.jira4j.restv3.spec.WorkflowCapabilitiesOperationSpec;
@Generated(value = "io.github.primelib.primecodegen.javafeign.JavaFeignGenerator")
public class JiraRESTV3ConsumerApi {
private final JiraRESTV3Api api;
public JiraRESTV3ConsumerApi(JiraRESTV3Api api) {
this.api = api;
}
/**
* 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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectIdOrKey: The project ID or project key (case sensitive).
* - 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.
* - 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.
*
*/
public ProjectRole addActorUsers(Consumer spec) {
AddActorUsersOperationSpec r = new AddActorUsersOperationSpec(spec);
return api.addActorUsers(r.projectIdOrKey(), r.id(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue that attachments are added to.
*
*/
public List addAttachment(Consumer spec) {
AddAttachmentOperationSpec r = new AddAttachmentOperationSpec(spec);
return api.addAttachment(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - comment:
* - 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.
*
*/
public Comment addComment(Consumer spec) {
AddCommentOperationSpec r = new AddCommentOperationSpec(spec);
return api.addComment(r.issueIdOrKey(), r.comment(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - fieldId: The ID of the field.
*
*/
public Object addFieldToDefaultScreen(Consumer spec) {
AddFieldToDefaultScreenOperationSpec r = new AddFieldToDefaultScreenOperationSpec(spec);
return api.addFieldToDefaultScreen(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - dashboardId: The ID of the dashboard.
* - dashboardGadgetSettings:
*
*/
public DashboardGadget addGadget(Consumer spec) {
AddGadgetOperationSpec r = new AddGadgetOperationSpec(spec);
return api.addGadget(r.dashboardId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - fieldId: The ID of the custom field.
* - contextId: The ID of the context.
* - issueTypeIds:
*
*/
public Object addIssueTypesToContext(Consumer spec) {
AddIssueTypesToContextOperationSpec r = new AddIssueTypesToContextOperationSpec(spec);
return api.addIssueTypesToContext(r.fieldId(), r.contextId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueTypeSchemeId: The ID of the issue type scheme.
* - issueTypeIds:
*
*/
public Object addIssueTypesToIssueTypeScheme(Consumer spec) {
AddIssueTypesToIssueTypeSchemeOperationSpec r = new AddIssueTypesToIssueTypeSchemeOperationSpec(spec);
return api.addIssueTypesToIssueTypeScheme(r.issueTypeSchemeId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the notification scheme.
* - addNotificationsDetails:
*
*/
public Object addNotifications(Consumer spec) {
AddNotificationsOperationSpec r = new AddNotificationsOperationSpec(spec);
return api.addNotifications(r.id(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - 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.
* - actorInputBean:
*
*/
public ProjectRole addProjectRoleActorsToRole(Consumer spec) {
AddProjectRoleActorsToRoleOperationSpec r = new AddProjectRoleActorsToRoleOperationSpec(spec);
return api.addProjectRoleActorsToRole(r.id(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - screenId: The ID of the screen.
* - screenableTab:
*
*/
public ScreenableTab addScreenTab(Consumer spec) {
AddScreenTabOperationSpec r = new AddScreenTabOperationSpec(spec);
return api.addScreenTab(r.screenId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - screenId: The ID of the screen.
* - tabId: The ID of the screen tab.
* - addFieldBean:
*
*/
public ScreenableField addScreenTabField(Consumer spec) {
AddScreenTabFieldOperationSpec r = new AddScreenTabFieldOperationSpec(spec);
return api.addScreenTabField(r.screenId(), r.tabId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - schemeId: The ID of the issue security scheme.
* - addSecuritySchemeLevelsRequestBean:
*
*/
public Object addSecurityLevel(Consumer spec) {
AddSecurityLevelOperationSpec r = new AddSecurityLevelOperationSpec(spec);
return api.addSecurityLevel(r.schemeId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - schemeId: The ID of the issue security scheme.
* - levelId: The ID of the issue security level.
* - securitySchemeMembersRequest:
*
*/
public Object addSecurityLevelMembers(Consumer spec) {
AddSecurityLevelMembersOperationSpec r = new AddSecurityLevelMembersOperationSpec(spec);
return api.addSecurityLevelMembers(r.schemeId(), r.levelId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the filter.
* - sharePermissionInputBean:
*
*/
public List addSharePermission(Consumer spec) {
AddSharePermissionOperationSpec r = new AddSharePermissionOperationSpec(spec);
return api.addSharePermission(r.id(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - updateUserToGroupBean: The user to add to the group.
* - 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.
* - groupId: The ID of the group. This parameter cannot be used with the {@code groupName} parameter.
*
*/
public Group addUserToGroup(Consumer spec) {
AddUserToGroupOperationSpec r = new AddUserToGroupOperationSpec(spec);
return api.addUserToGroup(r.updateUserToGroupBean(), r.groupname(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
*
*/
public Object addVote(Consumer spec) {
AddVoteOperationSpec r = new AddVoteOperationSpec(spec);
return api.addVote(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - body: The account ID of the user. Note that username cannot be used due to privacy changes.
*
*/
public Object addWatcher(Consumer spec) {
AddWatcherOperationSpec r = new AddWatcherOperationSpec(spec);
return api.addWatcher(r.issueIdOrKey(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key the issue.
* - worklog:
* - notifyUsers: Whether users watching the issue are notified by email.
* - 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.
* - 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}.
* - 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}.
* - expand: Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts {@code properties}, which returns worklog properties.
* - 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.
*
*/
public Worklog addWorklog(Consumer spec) {
AddWorklogOperationSpec r = new AddWorklogOperationSpec(spec);
return api.addWorklog(r.issueIdOrKey(), r.worklog(), r.notifyUsers(), r.adjustEstimate(), r.newEstimate(), r.reduceBy(), r.expand(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - addonKey: The key of the app, as defined in its descriptor.
* - propertyKey: The key of the property.
*
*/
public void addonPropertiesResourceDeleteAddonPropertyDelete(Consumer spec) {
AddonPropertiesResourceDeleteAddonPropertyDeleteOperationSpec r = new AddonPropertiesResourceDeleteAddonPropertyDeleteOperationSpec(spec);
api.addonPropertiesResourceDeleteAddonPropertyDelete(r.addonKey(), r.propertyKey());
}
/**
* Delete app property (Forge)
*
* Deletes a Forge app's property.
* **[Permissions](#permissions) required:** Only Forge apps can make this request.
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - propertyKey: The key of the property.
*
*/
public void addonPropertiesResourceDeleteAppPropertyDelete(Consumer spec) {
AddonPropertiesResourceDeleteAppPropertyDeleteOperationSpec r = new AddonPropertiesResourceDeleteAppPropertyDeleteOperationSpec(spec);
api.addonPropertiesResourceDeleteAppPropertyDelete(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - addonKey: The key of the app, as defined in its descriptor.
*
*/
public PropertyKeys addonPropertiesResourceGetAddonPropertiesGet(Consumer spec) {
AddonPropertiesResourceGetAddonPropertiesGetOperationSpec r = new AddonPropertiesResourceGetAddonPropertiesGetOperationSpec(spec);
return api.addonPropertiesResourceGetAddonPropertiesGet(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - addonKey: The key of the app, as defined in its descriptor.
* - propertyKey: The key of the property.
*
*/
public EntityProperty addonPropertiesResourceGetAddonPropertyGet(Consumer spec) {
AddonPropertiesResourceGetAddonPropertyGetOperationSpec r = new AddonPropertiesResourceGetAddonPropertyGetOperationSpec(spec);
return api.addonPropertiesResourceGetAddonPropertyGet(r.addonKey(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - addonKey: The key of the app, as defined in its descriptor.
* - propertyKey: The key of the property.
* - body:
*
*/
public OperationMessage addonPropertiesResourcePutAddonPropertyPut(Consumer spec) {
AddonPropertiesResourcePutAddonPropertyPutOperationSpec r = new AddonPropertiesResourcePutAddonPropertyPutOperationSpec(spec);
return api.addonPropertiesResourcePutAddonPropertyPut(r.addonKey(), r.propertyKey(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - propertyKey: The key of the property.
* - body:
*
*/
public OperationMessage addonPropertiesResourcePutAppPropertyPut(Consumer spec) {
AddonPropertiesResourcePutAppPropertyPutOperationSpec r = new AddonPropertiesResourcePutAppPropertyPutOperationSpec(spec);
return api.addonPropertiesResourcePutAppPropertyPut(r.propertyKey(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - jiraExpressionForAnalysis: The Jira expressions to analyse.
* - 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.
*
*/
public JiraExpressionsAnalysis analyseExpression(Consumer spec) {
AnalyseExpressionOperationSpec r = new AnalyseExpressionOperationSpec(spec);
return api.analyseExpression(r.jiraExpressionForAnalysis(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - atlassianTransferId: The ID of the transfer.
* - connectCustomFieldValues:
*
*/
public Object appIssueFieldValueUpdateResourceUpdateIssueFieldsPut(Consumer spec) {
AppIssueFieldValueUpdateResourceUpdateIssueFieldsPutOperationSpec r = new AppIssueFieldValueUpdateResourceUpdateIssueFieldsPutOperationSpec(spec);
return api.appIssueFieldValueUpdateResourceUpdateIssueFieldsPut(r.atlassianTransferId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueTypeScreenSchemeId: The ID of the issue type screen scheme.
* - issueTypeScreenSchemeMappingDetails:
*
*/
public Object appendMappingsForIssueTypeScreenScheme(Consumer spec) {
AppendMappingsForIssueTypeScreenSchemeOperationSpec r = new AppendMappingsForIssueTypeScreenSchemeOperationSpec(spec);
return api.appendMappingsForIssueTypeScreenScheme(r.issueTypeScreenSchemeId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueArchivalSyncRequest: Contains a list of issue keys or IDs to be archived.
*
*/
public IssueArchivalSyncResponse archiveIssues(Consumer spec) {
ArchiveIssuesOperationSpec r = new ArchiveIssuesOperationSpec(spec);
return api.archiveIssues(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - archiveIssueAsyncRequest: A JQL query specifying the issues to archive. Note that subtasks can only be archived through their parent issues.
*
*/
public String archiveIssuesAsync(Consumer spec) {
ArchiveIssuesAsyncOperationSpec r = new ArchiveIssuesAsyncOperationSpec(spec);
return api.archiveIssuesAsync(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectIdOrKey: The project ID or project key (case sensitive).
*
*/
public Object archiveProject(Consumer spec) {
ArchiveProjectOperationSpec r = new ArchiveProjectOperationSpec(spec);
return api.archiveProject(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - fieldConfigurationSchemeProjectAssociation:
*
*/
public Object assignFieldConfigurationSchemeToProject(Consumer spec) {
AssignFieldConfigurationSchemeToProjectOperationSpec r = new AssignFieldConfigurationSchemeToProjectOperationSpec(spec);
return api.assignFieldConfigurationSchemeToProject(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue to be assigned.
* - user: The request object with the user that the issue is assigned to.
*
*/
public Object assignIssue(Consumer spec) {
AssignIssueOperationSpec r = new AssignIssueOperationSpec(spec);
return api.assignIssue(r.issueIdOrKey(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueTypeSchemeProjectAssociation:
*
*/
public Object assignIssueTypeSchemeToProject(Consumer spec) {
AssignIssueTypeSchemeToProjectOperationSpec r = new AssignIssueTypeSchemeToProjectOperationSpec(spec);
return api.assignIssueTypeSchemeToProject(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueTypeScreenSchemeProjectAssociation:
*
*/
public Object assignIssueTypeScreenSchemeToProject(Consumer spec) {
AssignIssueTypeScreenSchemeToProjectOperationSpec r = new AssignIssueTypeScreenSchemeToProjectOperationSpec(spec);
return api.assignIssueTypeScreenSchemeToProject(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectKeyOrId: The project ID or project key (case sensitive).
* - idBean:
* - 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.
*
*/
public PermissionScheme assignPermissionScheme(Consumer spec) {
AssignPermissionSchemeOperationSpec r = new AssignPermissionSchemeOperationSpec(spec);
return api.assignPermissionScheme(r.projectKeyOrId(), r.idBean(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - fieldId: The ID of the custom field.
* - contextId: The ID of the context.
* - projectIds:
*
*/
public Object assignProjectsToCustomFieldContext(Consumer spec) {
AssignProjectsToCustomFieldContextOperationSpec r = new AssignProjectsToCustomFieldContextOperationSpec(spec);
return api.assignProjectsToCustomFieldContext(r.fieldId(), r.contextId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - workflowSchemeProjectAssociation:
*
*/
public Object assignSchemeToProject(Consumer spec) {
AssignSchemeToProjectOperationSpec r = new AssignSchemeToProjectOperationSpec(spec);
return api.assignSchemeToProject(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - associateSecuritySchemeWithProjectDetails:
*
*/
public void associateSchemesToProjects(Consumer spec) {
AssociateSchemesToProjectsOperationSpec r = new AssociateSchemesToProjectsOperationSpec(spec);
api.associateSchemesToProjects(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - propertyKey: The key of the property.
* - issueFilterForBulkPropertyDelete:
*
*/
public void bulkDeleteIssueProperty(Consumer spec) {
BulkDeleteIssuePropertyOperationSpec r = new BulkDeleteIssuePropertyOperationSpec(spec);
api.bulkDeleteIssueProperty(r.propertyKey(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - bulkEditShareableEntityRequest: The details of dashboards being updated in bulk.
*
*/
public BulkEditShareableEntityResponse bulkEditDashboards(Consumer spec) {
BulkEditDashboardsOperationSpec r = new BulkEditDashboardsOperationSpec(spec);
return api.bulkEditDashboards(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
* - groupId: The ID of a group. To specify multiple IDs, pass multiple {@code groupId} parameters. For example, {@code groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5}.
* - groupName: The name of a group. To specify multiple names, pass multiple {@code groupName} parameters. For example, {@code groupName=administrators&groupName=jira-software-users}.
* - accessType: The access level of a group. Valid values: 'site-admin', 'admin', 'user'.
* - applicationKey: The application key of the product user groups to search for. Valid values: 'jira-servicedesk', 'jira-software', 'jira-product-discovery', 'jira-core'.
*
*/
public PageBeanGroupDetails bulkGetGroups(Consumer spec) {
BulkGetGroupsOperationSpec r = new BulkGetGroupsOperationSpec(spec);
return api.bulkGetGroups(r.startAt(), r.maxResults(), r.groupId(), r.groupName(), r.accessType(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - accountId: The account ID of a user. To specify multiple users, pass multiple {@code accountId} parameters. For example, {@code accountId=5b10a2844c20165700ede21g&accountId=5b10ac8d82e05b22cc7d4ef5}.
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
* - 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.
* - 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.
*
*/
public PageBeanUser bulkGetUsers(Consumer spec) {
BulkGetUsersOperationSpec r = new BulkGetUsersOperationSpec(spec);
return api.bulkGetUsers(r.accountId(), r.startAt(), r.maxResults(), r.username(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
* - 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.
* - 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.
*
*/
public List bulkGetUsersMigration(Consumer spec) {
BulkGetUsersMigrationOperationSpec r = new BulkGetUsersMigrationOperationSpec(spec);
return api.bulkGetUsersMigration(r.startAt(), r.maxResults(), r.username(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - multiIssueEntityProperties: Details of the issue properties to be set or updated. Note that if an issue is not found, it is ignored.
*
*/
public void bulkSetIssuePropertiesByIssue(Consumer spec) {
BulkSetIssuePropertiesByIssueOperationSpec r = new BulkSetIssuePropertiesByIssueOperationSpec(spec);
api.bulkSetIssuePropertiesByIssue(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - propertyKey: The key of the property. The maximum length is 255 characters.
* - bulkIssuePropertyUpdateRequest:
*
*/
public void bulkSetIssueProperty(Consumer spec) {
BulkSetIssuePropertyOperationSpec r = new BulkSetIssuePropertyOperationSpec(spec);
api.bulkSetIssueProperty(r.propertyKey(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueEntityProperties: Issue properties to be set or updated with values.
*
*/
public void bulkSetIssuesPropertiesList(Consumer spec) {
BulkSetIssuesPropertiesListOperationSpec r = new BulkSetIssuesPropertiesListOperationSpec(spec);
api.bulkSetIssuesPropertiesList(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - taskId: The ID of the task.
*
*/
public Object cancelTask(Consumer spec) {
CancelTaskOperationSpec r = new CancelTaskOperationSpec(spec);
return api.cancelTask(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the filter to update.
* - changeFilterOwner: The account ID of the new owner of the filter.
*
*/
public Object changeFilterOwner(Consumer spec) {
ChangeFilterOwnerOperationSpec r = new ChangeFilterOwnerOperationSpec(spec);
return api.changeFilterOwner(r.id(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id:
* - dashboardDetails: Dashboard details.
*
*/
public Dashboard copyDashboard(Consumer spec) {
CopyDashboardOperationSpec r = new CopyDashboardOperationSpec(spec);
return api.copyDashboard(r.id(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectComponent:
*
*/
public ProjectComponent createComponent(Consumer spec) {
CreateComponentOperationSpec r = new CreateComponentOperationSpec(spec);
return api.createComponent(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - customFieldDefinitionJsonBean: Definition of the custom field to be created
*
*/
public FieldDetails createCustomField(Consumer spec) {
CreateCustomFieldOperationSpec r = new CreateCustomFieldOperationSpec(spec);
return api.createCustomField(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - fieldId: The ID of the custom field.
* - createCustomFieldContext:
*
*/
public CreateCustomFieldContext createCustomFieldContext(Consumer spec) {
CreateCustomFieldContextOperationSpec r = new CreateCustomFieldContextOperationSpec(spec);
return api.createCustomFieldContext(r.fieldId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - fieldId: The ID of the custom field.
* - contextId: The ID of the context.
* - bulkCustomFieldOptionCreateRequest:
*
*/
public CustomFieldCreatedContextOptionsList createCustomFieldOption(Consumer spec) {
CreateCustomFieldOptionOperationSpec r = new CreateCustomFieldOptionOperationSpec(spec);
return api.createCustomFieldOption(r.fieldId(), r.contextId(), r.bulkCustomFieldOptionCreateRequest());
}
/**
* Create dashboard
*
* Creates a dashboard.
* **[Permissions](#permissions) required:** None.
* Authentication - Required Scopes: [write:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - dashboardDetails: Dashboard details.
*
*/
public Dashboard createDashboard(Consumer spec) {
CreateDashboardOperationSpec r = new CreateDashboardOperationSpec(spec);
return api.createDashboard(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - fieldConfigurationDetails:
*
*/
public FieldConfiguration createFieldConfiguration(Consumer spec) {
CreateFieldConfigurationOperationSpec r = new CreateFieldConfigurationOperationSpec(spec);
return api.createFieldConfiguration(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - updateFieldConfigurationSchemeDetails: The details of the field configuration scheme.
*
*/
public FieldConfigurationScheme createFieldConfigurationScheme(Consumer spec) {
CreateFieldConfigurationSchemeOperationSpec r = new CreateFieldConfigurationSchemeOperationSpec(spec);
return api.createFieldConfigurationScheme(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - filter: The filter to create.
* - 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]}.
* - 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).
*
*/
public Filter createFilter(Consumer spec) {
CreateFilterOperationSpec r = new CreateFilterOperationSpec(spec);
return api.createFilter(r.filter(), r.expand(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - addGroupBean: The name of the group.
*
*/
public Group createGroup(Consumer spec) {
CreateGroupOperationSpec r = new CreateGroupOperationSpec(spec);
return api.createGroup(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueUpdateDetails:
* - 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.
*
*/
public CreatedIssue createIssue(Consumer spec) {
CreateIssueOperationSpec r = new CreateIssueOperationSpec(spec);
return api.createIssue(r.issueUpdateDetails(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - 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"}
* - issueFieldOptionCreateBean:
*
*/
public IssueFieldOption createIssueFieldOption(Consumer spec) {
CreateIssueFieldOptionOperationSpec r = new CreateIssueFieldOptionOperationSpec(spec);
return api.createIssueFieldOption(r.fieldKey(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueLinkType:
*
*/
public IssueLinkType createIssueLinkType(Consumer spec) {
CreateIssueLinkTypeOperationSpec r = new CreateIssueLinkTypeOperationSpec(spec);
return api.createIssueLinkType(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - createIssueSecuritySchemeDetails:
*
*/
public SecuritySchemeId createIssueSecurityScheme(Consumer spec) {
CreateIssueSecuritySchemeOperationSpec r = new CreateIssueSecuritySchemeOperationSpec(spec);
return api.createIssueSecurityScheme(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueTypeCreateBean:
*
*/
public IssueTypeDetails createIssueType(Consumer spec) {
CreateIssueTypeOperationSpec r = new CreateIssueTypeOperationSpec(spec);
return api.createIssueType(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the issue type.
* - size: The length of each side of the crop region.
* - body:
* - x: The X coordinate of the top-left corner of the crop region.
* - y: The Y coordinate of the top-left corner of the crop region.
*
*/
public Avatar createIssueTypeAvatar(Consumer spec) {
CreateIssueTypeAvatarOperationSpec r = new CreateIssueTypeAvatarOperationSpec(spec);
return api.createIssueTypeAvatar(r.id(), r.size(), r.body(), r.x(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueTypeSchemeDetails:
*
*/
public IssueTypeSchemeID createIssueTypeScheme(Consumer spec) {
CreateIssueTypeSchemeOperationSpec r = new CreateIssueTypeSchemeOperationSpec(spec);
return api.createIssueTypeScheme(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueTypeScreenSchemeDetails: An issue type screen scheme bean.
*
*/
public IssueTypeScreenSchemeId createIssueTypeScreenScheme(Consumer spec) {
CreateIssueTypeScreenSchemeOperationSpec r = new CreateIssueTypeScreenSchemeOperationSpec(spec);
return api.createIssueTypeScreenScheme(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issuesUpdateBean:
*
*/
public CreatedIssues createIssues(Consumer spec) {
CreateIssuesOperationSpec r = new CreateIssuesOperationSpec(spec);
return api.createIssues(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - createNotificationSchemeDetails:
*
*/
public NotificationSchemeId createNotificationScheme(Consumer spec) {
CreateNotificationSchemeOperationSpec r = new CreateNotificationSchemeOperationSpec(spec);
return api.createNotificationScheme(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - remoteIssueLinkRequest:
*
*/
public RemoteIssueLinkIdentifies createOrUpdateRemoteIssueLink(Consumer spec) {
CreateOrUpdateRemoteIssueLinkOperationSpec r = new CreateOrUpdateRemoteIssueLinkOperationSpec(spec);
return api.createOrUpdateRemoteIssueLink(r.issueIdOrKey(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - schemeId: The ID of the permission scheme in which to create a new permission grant.
* - permissionGrant: The permission grant to create.
* - 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.
*
*/
public PermissionGrant createPermissionGrant(Consumer spec) {
CreatePermissionGrantOperationSpec r = new CreatePermissionGrantOperationSpec(spec);
return api.createPermissionGrant(r.schemeId(), r.permissionGrant(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - permissionScheme: The permission scheme to create.
* - 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.
*
*/
public PermissionScheme createPermissionScheme(Consumer spec) {
CreatePermissionSchemeOperationSpec r = new CreatePermissionSchemeOperationSpec(spec);
return api.createPermissionScheme(r.permissionScheme(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - createPriorityDetails:
*
*/
public PriorityId createPriority(Consumer spec) {
CreatePriorityOperationSpec r = new CreatePriorityOperationSpec(spec);
return api.createPriority(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - createProjectDetails: The JSON representation of the project being created.
*
*/
public ProjectIdentifiers createProject(Consumer spec) {
CreateProjectOperationSpec r = new CreateProjectOperationSpec(spec);
return api.createProject(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectIdOrKey: The ID or (case-sensitive) key of the project.
* - body:
* - x: The X coordinate of the top-left corner of the crop region.
* - y: The Y coordinate of the top-left corner of the crop region.
* - size: The length of each side of the crop region.
*
*/
public Avatar createProjectAvatar(Consumer spec) {
CreateProjectAvatarOperationSpec r = new CreateProjectAvatarOperationSpec(spec);
return api.createProjectAvatar(r.projectIdOrKey(), r.body(), r.x(), r.y(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectCategory:
*
*/
public ProjectCategory createProjectCategory(Consumer spec) {
CreateProjectCategoryOperationSpec r = new CreateProjectCategoryOperationSpec(spec);
return api.createProjectCategory(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - createUpdateRoleRequestBean:
*
*/
public ProjectRole createProjectRole(Consumer spec) {
CreateProjectRoleOperationSpec r = new CreateProjectRoleOperationSpec(spec);
return api.createProjectRole(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id:
* - versionRelatedWork:
*
*/
public VersionRelatedWork createRelatedWork(Consumer spec) {
CreateRelatedWorkOperationSpec r = new CreateRelatedWorkOperationSpec(spec);
return api.createRelatedWork(r.id(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - createResolutionDetails:
*
*/
public ResolutionId createResolution(Consumer spec) {
CreateResolutionOperationSpec r = new CreateResolutionOperationSpec(spec);
return api.createResolution(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - screenDetails:
*
*/
public Screen createScreen(Consumer spec) {
CreateScreenOperationSpec r = new CreateScreenOperationSpec(spec);
return api.createScreen(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - screenSchemeDetails:
*
*/
public ScreenSchemeId createScreenScheme(Consumer spec) {
CreateScreenSchemeOperationSpec r = new CreateScreenSchemeOperationSpec(spec);
return api.createScreenScheme(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - statusCreateRequest: Details of the statuses being created and their scope.
*
*/
public List createStatuses(Consumer spec) {
CreateStatusesOperationSpec r = new CreateStatusesOperationSpec(spec);
return api.createStatuses(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - createUiModificationDetails: Details of the UI modification.
*
*/
public UiModificationIdentifiers createUiModification(Consumer spec) {
CreateUiModificationOperationSpec r = new CreateUiModificationOperationSpec(spec);
return api.createUiModification(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - newUserDetails: Details about the user to be created.
*
*/
public User createUser(Consumer spec) {
CreateUserOperationSpec r = new CreateUserOperationSpec(spec);
return api.createUser(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - version:
*
*/
public Version createVersion(Consumer spec) {
CreateVersionOperationSpec r = new CreateVersionOperationSpec(spec);
return api.createVersion(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - createWorkflowDetails: The workflow details.
*
* @deprecated
*/
@Deprecated
public WorkflowIDs createWorkflow(Consumer spec) {
CreateWorkflowOperationSpec r = new CreateWorkflowOperationSpec(spec);
return api.createWorkflow(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - workflowScheme:
*
*/
public WorkflowScheme createWorkflowScheme(Consumer spec) {
CreateWorkflowSchemeOperationSpec r = new CreateWorkflowSchemeOperationSpec(spec);
return api.createWorkflowScheme(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the active workflow scheme that the draft is created from.
*
*/
public WorkflowScheme createWorkflowSchemeDraftFromParent(Consumer spec) {
CreateWorkflowSchemeDraftFromParentOperationSpec r = new CreateWorkflowSchemeDraftFromParentOperationSpec(spec);
return api.createWorkflowSchemeDraftFromParent(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - 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.
* - 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.
* - workflowName: The name of the workflow that the transition belongs to.
* - workflowTransitionProperty:
* - workflowMode: The workflow status. Set to *live* for inactive workflows or *draft* for draft workflows. Active workflows cannot be edited.
*
*/
public WorkflowTransitionProperty createWorkflowTransitionProperty(Consumer spec) {
CreateWorkflowTransitionPropertyOperationSpec r = new CreateWorkflowTransitionPropertyOperationSpec(spec);
return api.createWorkflowTransitionProperty(r.transitionId(), r.key(), r.workflowName(), r.workflowTransitionProperty(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - workflowCreateRequest:
*
*/
public WorkflowCreateResponse createWorkflows(Consumer spec) {
CreateWorkflowsOperationSpec r = new CreateWorkflowsOperationSpec(spec);
return api.createWorkflows(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectIdOrKey: The project ID or project key (case sensitive).
* - 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.
* - user: The user account ID of the user to remove from the project role.
* - 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.
* - groupId: The ID of the group to remove from the project role. This parameter cannot be used with the {@code group} parameter.
*
*/
public void deleteActor(Consumer spec) {
DeleteActorOperationSpec r = new DeleteActorOperationSpec(spec);
api.deleteActor(r.projectIdOrKey(), r.id(), r.user(), r.group(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the version.
* - deleteAndReplaceVersionBean:
*
*/
public Object deleteAndReplaceVersion(Consumer spec) {
DeleteAndReplaceVersionOperationSpec r = new DeleteAndReplaceVersionOperationSpec(spec);
return api.deleteAndReplaceVersion(r.id(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - type: The avatar type.
* - owningObjectId: The ID of the item the avatar is associated with.
* - id: The ID of the avatar.
*
*/
public void deleteAvatar(Consumer spec) {
DeleteAvatarOperationSpec r = new DeleteAvatarOperationSpec(spec);
api.deleteAvatar(r.type(), r.owningObjectId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - id: The ID of the comment.
*
*/
public void deleteComment(Consumer spec) {
DeleteCommentOperationSpec r = new DeleteCommentOperationSpec(spec);
api.deleteComment(r.issueIdOrKey(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - commentId: The ID of the comment.
* - propertyKey: The key of the property.
*
*/
public void deleteCommentProperty(Consumer spec) {
DeleteCommentPropertyOperationSpec r = new DeleteCommentPropertyOperationSpec(spec);
api.deleteCommentProperty(r.commentId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the component.
* - moveIssuesTo: The ID of the component to replace the deleted component. If this value is null no replacement is made.
*
*/
public void deleteComponent(Consumer spec) {
DeleteComponentOperationSpec r = new DeleteComponentOperationSpec(spec);
api.deleteComponent(r.id(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of a custom field.
*
*/
public void deleteCustomField(Consumer spec) {
DeleteCustomFieldOperationSpec r = new DeleteCustomFieldOperationSpec(spec);
api.deleteCustomField(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - fieldId: The ID of the custom field.
* - contextId: The ID of the context.
*
*/
public Object deleteCustomFieldContext(Consumer spec) {
DeleteCustomFieldContextOperationSpec r = new DeleteCustomFieldContextOperationSpec(spec);
return api.deleteCustomFieldContext(r.fieldId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - fieldId: The ID of the custom field.
* - contextId: The ID of the context from which an option should be deleted.
* - optionId: The ID of the option to delete.
*
*/
public void deleteCustomFieldOption(Consumer spec) {
DeleteCustomFieldOptionOperationSpec r = new DeleteCustomFieldOptionOperationSpec(spec);
api.deleteCustomFieldOption(r.fieldId(), r.contextId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the dashboard.
*
*/
public void deleteDashboard(Consumer spec) {
DeleteDashboardOperationSpec r = new DeleteDashboardOperationSpec(spec);
api.deleteDashboard(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - dashboardId: The ID of the dashboard.
* - itemId: The ID of the dashboard item.
* - propertyKey: The key of the dashboard item property.
*
*/
public Object deleteDashboardItemProperty(Consumer spec) {
DeleteDashboardItemPropertyOperationSpec r = new DeleteDashboardItemPropertyOperationSpec(spec);
return api.deleteDashboardItemProperty(r.dashboardId(), r.itemId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the workflow scheme.
* - 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}.
*
*/
public WorkflowScheme deleteDefaultWorkflow(Consumer spec) {
DeleteDefaultWorkflowOperationSpec r = new DeleteDefaultWorkflowOperationSpec(spec);
return api.deleteDefaultWorkflow(r.id(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the workflow scheme that the draft belongs to.
*
*/
public WorkflowScheme deleteDraftDefaultWorkflow(Consumer spec) {
DeleteDraftDefaultWorkflowOperationSpec r = new DeleteDraftDefaultWorkflowOperationSpec(spec);
return api.deleteDraftDefaultWorkflow(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the workflow scheme that the draft belongs to.
* - workflowName: The name of the workflow.
*
*/
public void deleteDraftWorkflowMapping(Consumer spec) {
DeleteDraftWorkflowMappingOperationSpec r = new DeleteDraftWorkflowMappingOperationSpec(spec);
api.deleteDraftWorkflowMapping(r.id(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the filter.
* - 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]}.
*
*/
public Filter deleteFavouriteForFilter(Consumer spec) {
DeleteFavouriteForFilterOperationSpec r = new DeleteFavouriteForFilterOperationSpec(spec);
return api.deleteFavouriteForFilter(r.id(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the field configuration.
*
*/
public Object deleteFieldConfiguration(Consumer spec) {
DeleteFieldConfigurationOperationSpec r = new DeleteFieldConfigurationOperationSpec(spec);
return api.deleteFieldConfiguration(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the field configuration scheme.
*
*/
public Object deleteFieldConfigurationScheme(Consumer spec) {
DeleteFieldConfigurationSchemeOperationSpec r = new DeleteFieldConfigurationSchemeOperationSpec(spec);
return api.deleteFieldConfigurationScheme(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the filter to delete.
*
*/
public void deleteFilter(Consumer spec) {
DeleteFilterOperationSpec r = new DeleteFilterOperationSpec(spec);
api.deleteFilter(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - entityId: The entity ID of the workflow.
*
*/
public void deleteInactiveWorkflow(Consumer spec) {
DeleteInactiveWorkflowOperationSpec r = new DeleteInactiveWorkflowOperationSpec(spec);
api.deleteInactiveWorkflow(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - deleteSubtasks: Whether the issue's subtasks are deleted when the issue is deleted.
*
*/
public void deleteIssue(Consumer spec) {
DeleteIssueOperationSpec r = new DeleteIssueOperationSpec(spec);
api.deleteIssue(r.issueIdOrKey(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - 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"}
* - optionId: The ID of the option to be deleted.
*
*/
public Object deleteIssueFieldOption(Consumer spec) {
DeleteIssueFieldOptionOperationSpec r = new DeleteIssueFieldOptionOperationSpec(spec);
return api.deleteIssueFieldOption(r.fieldKey(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - linkId: The ID of the issue link.
*
*/
public void deleteIssueLink(Consumer spec) {
DeleteIssueLinkOperationSpec r = new DeleteIssueLinkOperationSpec(spec);
api.deleteIssueLink(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueLinkTypeId: The ID of the issue link type.
*
*/
public void deleteIssueLinkType(Consumer spec) {
DeleteIssueLinkTypeOperationSpec r = new DeleteIssueLinkTypeOperationSpec(spec);
api.deleteIssueLinkType(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The key or ID of the issue.
* - propertyKey: The key of the property.
*
*/
public void deleteIssueProperty(Consumer spec) {
DeleteIssuePropertyOperationSpec r = new DeleteIssuePropertyOperationSpec(spec);
api.deleteIssueProperty(r.issueIdOrKey(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the issue type.
* - alternativeIssueTypeId: The ID of the replacement issue type.
*
*/
public void deleteIssueType(Consumer spec) {
DeleteIssueTypeOperationSpec r = new DeleteIssueTypeOperationSpec(spec);
api.deleteIssueType(r.id(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueTypeId: The ID of the issue type.
* - 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.
*
*/
public void deleteIssueTypeProperty(Consumer spec) {
DeleteIssueTypePropertyOperationSpec r = new DeleteIssueTypePropertyOperationSpec(spec);
api.deleteIssueTypeProperty(r.issueTypeId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueTypeSchemeId: The ID of the issue type scheme.
*
*/
public Object deleteIssueTypeScheme(Consumer spec) {
DeleteIssueTypeSchemeOperationSpec r = new DeleteIssueTypeSchemeOperationSpec(spec);
return api.deleteIssueTypeScheme(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueTypeScreenSchemeId: The ID of the issue type screen scheme.
*
*/
public Object deleteIssueTypeScreenScheme(Consumer spec) {
DeleteIssueTypeScreenSchemeOperationSpec r = new DeleteIssueTypeScreenSchemeOperationSpec(spec);
return api.deleteIssueTypeScreenScheme(r.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
public Object deleteLocale() {
return api.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - notificationSchemeId: The ID of the notification scheme.
*
*/
public Object deleteNotificationScheme(Consumer spec) {
DeleteNotificationSchemeOperationSpec r = new DeleteNotificationSchemeOperationSpec(spec);
return api.deleteNotificationScheme(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - schemeId: The ID of the permission scheme being deleted.
*
*/
public void deletePermissionScheme(Consumer spec) {
DeletePermissionSchemeOperationSpec r = new DeletePermissionSchemeOperationSpec(spec);
api.deletePermissionScheme(r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - schemeId: The ID of the permission scheme to delete the permission grant from.
* - permissionId: The ID of the permission grant to delete.
*
*/
public void deletePermissionSchemeEntity(Consumer spec) {
DeletePermissionSchemeEntityOperationSpec r = new DeletePermissionSchemeEntityOperationSpec(spec);
api.deletePermissionSchemeEntity(r.schemeId(), r.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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the issue priority.
* - replaceWith: The ID of the issue priority that will replace the currently selected resolution.
*
* @deprecated
*/
@Deprecated
public void deletePriority(Consumer spec) {
DeletePriorityOperationSpec r = new DeletePriorityOperationSpec(spec);
api.deletePriority(r.id(), r.replaceWith());
}
/**
* Delete project
*
* Deletes a project.
* You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectIdOrKey: The project ID or project key (case sensitive).
* - enableUndo: Whether this project is placed in the Jira recycle bin where it will be available for restoration.
*
*/
public void deleteProject(Consumer spec) {
DeleteProjectOperationSpec r = new DeleteProjectOperationSpec(spec);
api.deleteProject(r.projectIdOrKey(), r.enableUndo());
}
/**
* Delete project asynchronously
*
* Deletes a project asynchronously.
* This operation is:
* *
* transactional, that is, if part of the delete fails the project is not 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:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectIdOrKey: The project ID or project key (case sensitive).
*
*/
public void deleteProjectAsynchronously(Consumer spec) {
DeleteProjectAsynchronouslyOperationSpec r = new DeleteProjectAsynchronouslyOperationSpec(spec);
api.deleteProjectAsynchronously(r.projectIdOrKey());
}
/**
* Delete project avatar
*
* Deletes a custom avatar from a project. Note that system avatars cannot be deleted.
* **[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).
* Authentication - Required Scopes: [manage:jira-project]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectIdOrKey: The project ID or (case-sensitive) key.
* - id: The ID of the avatar.
*
*/
public void deleteProjectAvatar(Consumer spec) {
DeleteProjectAvatarOperationSpec r = new DeleteProjectAvatarOperationSpec(spec);
api.deleteProjectAvatar(r.projectIdOrKey(), r.id());
}
/**
* Delete project property
*
* Deletes the [property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) from a project.
* 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 containing the property.
* Authentication - Required Scopes: [manage:jira-project]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectIdOrKey: The project ID or project key (case sensitive).
* - propertyKey: The project property key. Use [Get project property keys](#api-rest-api-3-project-projectIdOrKey-properties-get) to get a list of all project property keys.
*
*/
public void deleteProjectProperty(Consumer spec) {
DeleteProjectPropertyOperationSpec r = new DeleteProjectPropertyOperationSpec(spec);
api.deleteProjectProperty(r.projectIdOrKey(), r.propertyKey());
}
/**
* Delete project role
*
* Deletes a project role. You must specify a replacement project role if you wish to delete a project role that is in use.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the project role to delete. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.
* - swap: The ID of the project role that will replace the one being deleted.
*
*/
public void deleteProjectRole(Consumer spec) {
DeleteProjectRoleOperationSpec r = new DeleteProjectRoleOperationSpec(spec);
api.deleteProjectRole(r.id(), r.swap());
}
/**
* Delete default actors from project role
*
* Deletes the [default actors](#api-rest-api-3-resolution-get) from a project role. You may delete a group or user, but you cannot delete a group and a user in the same request.
* 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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - 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.
* - user: The user account ID of the user to remove as a default actor.
* - groupId: The group ID of the group to be removed as a default actor. This parameter cannot be used with the {@code group} parameter.
* - group: The group name of the group to be removed as a default actor.This parameter cannot be used with the {@code groupId} parameter. As a group's name can change, use of {@code groupId} is recommended.
*
*/
public ProjectRole deleteProjectRoleActorsFromRole(Consumer spec) {
DeleteProjectRoleActorsFromRoleOperationSpec r = new DeleteProjectRoleActorsFromRoleOperationSpec(spec);
return api.deleteProjectRoleActorsFromRole(r.id(), r.user(), r.groupId(), r.group());
}
/**
* Delete related work
*
* Deletes the given related work for the given version.
* 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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - versionId: The ID of the version that the target related work belongs to.
* - relatedWorkId: The ID of the related work to delete.
*
*/
public void deleteRelatedWork(Consumer spec) {
DeleteRelatedWorkOperationSpec r = new DeleteRelatedWorkOperationSpec(spec);
api.deleteRelatedWork(r.versionId(), r.relatedWorkId());
}
/**
* Delete remote issue link by global ID
*
* Deletes the remote issue link from the issue using the link's global ID. Where the global ID includes reserved URL characters these must be escaped in the request. For example, pass {@code system=http://www.mycompany.com/support&id=1} as {@code system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1}.
* 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 implemented, issue-level security permission to view the issue.
* Authentication - Required Scopes: [write:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - globalId: The global ID of a remote issue link.
*
*/
public void deleteRemoteIssueLinkByGlobalId(Consumer spec) {
DeleteRemoteIssueLinkByGlobalIdOperationSpec r = new DeleteRemoteIssueLinkByGlobalIdOperationSpec(spec);
api.deleteRemoteIssueLinkByGlobalId(r.issueIdOrKey(), r.globalId());
}
/**
* Delete remote issue link by ID
*
* Deletes a remote issue link from an issue.
* 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*, *Edit issues*, 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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - linkId: The ID of a remote issue link.
*
*/
public void deleteRemoteIssueLinkById(Consumer spec) {
DeleteRemoteIssueLinkByIdOperationSpec r = new DeleteRemoteIssueLinkByIdOperationSpec(spec);
api.deleteRemoteIssueLinkById(r.issueIdOrKey(), r.linkId());
}
/**
* Delete resolution
*
* Deletes an issue resolution.
* 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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the issue resolution.
* - replaceWith: The ID of the issue resolution that will replace the currently selected resolution.
*
*/
public void deleteResolution(Consumer spec) {
DeleteResolutionOperationSpec r = new DeleteResolutionOperationSpec(spec);
api.deleteResolution(r.id(), r.replaceWith());
}
/**
* Delete screen
*
* Deletes a screen. A screen cannot be deleted if it is used in a screen scheme, workflow, or workflow draft.
* Only screens used in classic projects can be deleted.
* Authentication - Required Scopes: [manage:jira-project]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - screenId: The ID of the screen.
*
*/
public void deleteScreen(Consumer spec) {
DeleteScreenOperationSpec r = new DeleteScreenOperationSpec(spec);
api.deleteScreen(r.screenId());
}
/**
* Delete screen scheme
*
* Deletes a screen scheme. A screen scheme cannot be deleted if it is used in an issue type screen scheme.
* Only screens schemes used in classic projects can be deleted.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-project]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - screenSchemeId: The ID of the screen scheme.
*
*/
public void deleteScreenScheme(Consumer spec) {
DeleteScreenSchemeOperationSpec r = new DeleteScreenSchemeOperationSpec(spec);
api.deleteScreenScheme(r.screenSchemeId());
}
/**
* Delete screen tab
*
* Deletes a screen tab.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-project]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - screenId: The ID of the screen.
* - tabId: The ID of the screen tab.
*
*/
public void deleteScreenTab(Consumer spec) {
DeleteScreenTabOperationSpec r = new DeleteScreenTabOperationSpec(spec);
api.deleteScreenTab(r.screenId(), r.tabId());
}
/**
* Delete issue security scheme
*
* Deletes an issue security scheme.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - schemeId: The ID of the issue security scheme.
*
*/
public Object deleteSecurityScheme(Consumer spec) {
DeleteSecuritySchemeOperationSpec r = new DeleteSecuritySchemeOperationSpec(spec);
return api.deleteSecurityScheme(r.schemeId());
}
/**
* Delete share permission
*
* Deletes a share permission from a filter.
* **[Permissions](#permissions) required:** Permission to access Jira and the user must own the filter.
* Authentication - Required Scopes: [write:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the filter.
* - permissionId: The ID of the share permission.
*
*/
public void deleteSharePermission(Consumer spec) {
DeleteSharePermissionOperationSpec r = new DeleteSharePermissionOperationSpec(spec);
api.deleteSharePermission(r.id(), r.permissionId());
}
/**
* Bulk delete Statuses
*
* Deletes statuses by ID.
* **[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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The list of status IDs. To include multiple IDs, provide an ampersand-separated list. For example, id=10000&id=10001. Min items {@code 1}, Max items {@code 50}
*
*/
public Object deleteStatusesById(Consumer spec) {
DeleteStatusesByIdOperationSpec r = new DeleteStatusesByIdOperationSpec(spec);
return api.deleteStatusesById(r.id());
}
/**
* Delete UI modification
*
* Deletes a UI modification. All the contexts that belong to the UI modification are deleted too. UI modification can only be deleted by Forge apps.
* **[Permissions](#permissions) required:** None.
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - uiModificationId: The ID of the UI modification.
*
*/
public Object deleteUiModification(Consumer spec) {
DeleteUiModificationOperationSpec r = new DeleteUiModificationOperationSpec(spec);
return api.deleteUiModification(r.uiModificationId());
}
/**
* Delete user property
*
* Deletes a property from a user.
* Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.
* **[Permissions](#permissions) required:**
* *
* *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to delete a property from any user.
* *
* Access to Jira, to delete a property from the calling user's record.
* Authentication - Required Scopes: [write:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - propertyKey: The key of the user's property.
* - accountId: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
* - userKey: 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.
* - 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.
*
*/
public void deleteUserProperty(Consumer spec) {
DeleteUserPropertyOperationSpec r = new DeleteUserPropertyOperationSpec(spec);
api.deleteUserProperty(r.propertyKey(), r.accountId(), r.userKey(), r.username());
}
/**
* Delete version
*
* Deletes a project version.
* Deprecated, use [ Delete and replace version](#api-rest-api-3-version-id-removeAndSwap-post) that supports swapping version values in custom fields, in addition to the swapping for {@code fixVersion} and {@code affectedVersion} provided in this resource.
* Alternative versions can be provided to update issues that use the deleted version in {@code fixVersion} or {@code affectedVersion}. If alternatives are not provided, occurrences of {@code fixVersion} and {@code affectedVersion} that contain the deleted version are cleared.
* 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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the version.
* - moveFixIssuesTo: The ID of the version to update {@code fixVersion} to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted.
* - moveAffectedIssuesTo: The ID of the version to update {@code affectedVersion} to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted.
*
* @deprecated
*/
@Deprecated
public void deleteVersion(Consumer spec) {
DeleteVersionOperationSpec r = new DeleteVersionOperationSpec(spec);
api.deleteVersion(r.id(), r.moveFixIssuesTo(), r.moveAffectedIssuesTo());
}
/**
* Delete webhooks by ID
*
* Removes webhooks by ID. Only webhooks registered by the calling app are removed. If webhooks created by other apps are specified, they are ignored.
* **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
* Authentication - Required Scopes: [read:jira-work, manage:jira-webhook]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - containerForWebhookIDs:
*
*/
public void deleteWebhookById(Consumer spec) {
DeleteWebhookByIdOperationSpec r = new DeleteWebhookByIdOperationSpec(spec);
api.deleteWebhookById(r.containerForWebhookIDs());
}
/**
* Delete issue types for workflow in workflow scheme
*
* Deletes the workflow-issue type mapping for a workflow in a workflow scheme.
* 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 workflow-issue type mapping deleted. 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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the workflow scheme.
* - workflowName: The name of the workflow.
* - 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}.
*
*/
public void deleteWorkflowMapping(Consumer spec) {
DeleteWorkflowMappingOperationSpec r = new DeleteWorkflowMappingOperationSpec(spec);
api.deleteWorkflowMapping(r.id(), r.workflowName(), r.updateDraftIfNeeded());
}
/**
* Delete workflow scheme
*
* Deletes a workflow scheme. Note that a workflow scheme cannot be deleted if it is active (that is, being used by at least one project).
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as {@code schemeId}. For example, *schemeId=10301*.
*
*/
public Object deleteWorkflowScheme(Consumer spec) {
DeleteWorkflowSchemeOperationSpec r = new DeleteWorkflowSchemeOperationSpec(spec);
return api.deleteWorkflowScheme(r.id());
}
/**
* Delete draft workflow scheme
*
* Deletes a draft workflow scheme.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the active workflow scheme that the draft was created from.
*
*/
public void deleteWorkflowSchemeDraft(Consumer spec) {
DeleteWorkflowSchemeDraftOperationSpec r = new DeleteWorkflowSchemeDraftOperationSpec(spec);
api.deleteWorkflowSchemeDraft(r.id());
}
/**
* Delete workflow for issue type in draft workflow scheme
*
* Deletes the issue type-workflow mapping for an issue type 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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the workflow scheme that the draft belongs to.
* - issueType: The ID of the issue type.
*
*/
public WorkflowScheme deleteWorkflowSchemeDraftIssueType(Consumer spec) {
DeleteWorkflowSchemeDraftIssueTypeOperationSpec r = new DeleteWorkflowSchemeDraftIssueTypeOperationSpec(spec);
return api.deleteWorkflowSchemeDraftIssueType(r.id(), r.issueType());
}
/**
* Delete workflow for issue type in workflow scheme
*
* Deletes the issue type-workflow mapping for an issue type in a workflow scheme.
* 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 issue type-workflow mapping deleted. 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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the workflow scheme.
* - issueType: The ID of the issue type.
* - updateDraftIfNeeded: Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the workflow scheme cannot be edited. Defaults to {@code false}.
*
*/
public WorkflowScheme deleteWorkflowSchemeIssueType(Consumer spec) {
DeleteWorkflowSchemeIssueTypeOperationSpec r = new DeleteWorkflowSchemeIssueTypeOperationSpec(spec);
return api.deleteWorkflowSchemeIssueType(r.id(), r.issueType(), r.updateDraftIfNeeded());
}
/**
* Delete workflow transition property
*
* Deletes a property from a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - 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.
* - key: The name of the transition property to delete, also known as the name of the property.
* - workflowName: The name of the workflow that the transition belongs to.
* - workflowMode: The workflow status. Set to {@code live} for inactive workflows or {@code draft} for draft workflows. Active workflows cannot be edited.
*
*/
public void deleteWorkflowTransitionProperty(Consumer spec) {
DeleteWorkflowTransitionPropertyOperationSpec r = new DeleteWorkflowTransitionPropertyOperationSpec(spec);
api.deleteWorkflowTransitionProperty(r.transitionId(), r.key(), r.workflowName(), r.workflowMode());
}
/**
* Delete workflow transition rule configurations
*
* Deletes workflow transition rules from one or more workflows. These rule types are supported:
* *
* [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)
* *
* [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)
* *
* [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)
* Only rules created by the calling Connect app can be deleted.
* **[Permissions](#permissions) required:** Only Connect apps can use this operation.
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - workflowsWithTransitionRulesDetails:
*
*/
public WorkflowTransitionRulesUpdateErrors deleteWorkflowTransitionRuleConfigurations(Consumer spec) {
DeleteWorkflowTransitionRuleConfigurationsOperationSpec r = new DeleteWorkflowTransitionRuleConfigurationsOperationSpec(spec);
return api.deleteWorkflowTransitionRuleConfigurations(r.workflowsWithTransitionRulesDetails());
}
/**
* Delete worklog
*
* Deletes a worklog from 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* [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.
* *
* *Delete all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog or *Delete own worklogs* to delete worklogs created by the user,
* *
* If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
* Authentication - Required Scopes: [write:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - id: The ID of the worklog.
* - notifyUsers: Whether users watching the issue are notified by email.
* - 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} Increases the estimate by amount specified in {@code increaseBy}. * {@code auto} Reduces the estimate by the value of {@code timeSpent} in the worklog.
* - 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}.
* - increaseBy: The amount to increase the issue's remaining estimate by, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when {@code adjustEstimate} is {@code manual}.
* - overrideEditableFlag: Whether the work log entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with admin permission can use this flag.
*
*/
public void deleteWorklog(Consumer spec) {
DeleteWorklogOperationSpec r = new DeleteWorklogOperationSpec(spec);
api.deleteWorklog(r.issueIdOrKey(), r.id(), r.notifyUsers(), r.adjustEstimate(), r.newEstimate(), r.increaseBy(), r.overrideEditableFlag());
}
/**
* Delete worklog property
*
* Deletes a worklog property.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *
* If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
* Authentication - Required Scopes: [write:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - worklogId: The ID of the worklog.
* - propertyKey: The key of the property.
*
*/
public void deleteWorklogProperty(Consumer spec) {
DeleteWorklogPropertyOperationSpec r = new DeleteWorklogPropertyOperationSpec(spec);
api.deleteWorklogProperty(r.issueIdOrKey(), r.worklogId(), r.propertyKey());
}
/**
* Transition issue
*
* Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen.
* sortByCategory To update the fields on the transition screen, specify the fields in the {@code fields} or {@code update} parameters in the request body. Get details about the fields using [ Get transitions](#api-rest-api-3-issue-issueIdOrKey-transitions-get) with the {@code transitions.fields} expand.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* and *Transition 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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - issueUpdateDetails:
*
*/
public Object doTransition(Consumer spec) {
DoTransitionOperationSpec r = new DoTransitionOperationSpec(spec);
return api.doTransition(r.issueIdOrKey(), r.issueUpdateDetails());
}
/**
* Get modules
*
* Returns all modules registered dynamically by the calling app.
* **[Permissions](#permissions) required:** Only Connect apps can make this request.
*/
public ConnectModules dynamicModulesResourceGetModulesGet() {
return api.dynamicModulesResourceGetModulesGet();
}
/**
* Register modules
*
* Registers a list of modules.
* **[Permissions](#permissions) required:** Only Connect apps can make this request.
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - connectModules:
*
*/
public void dynamicModulesResourceRegisterModulesPost(Consumer spec) {
DynamicModulesResourceRegisterModulesPostOperationSpec r = new DynamicModulesResourceRegisterModulesPostOperationSpec(spec);
api.dynamicModulesResourceRegisterModulesPost(r.connectModules());
}
/**
* Remove modules
*
* Remove all or a list of modules registered by the calling app.
* **[Permissions](#permissions) required:** Only Connect apps can make this request.
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - moduleKey: The key of the module to remove. To include multiple module keys, provide multiple copies of this parameter. For example, {@code moduleKey=dynamic-attachment-entity-property&moduleKey=dynamic-select-field}. Nonexistent keys are ignored.
*
*/
public void dynamicModulesResourceRemoveModulesDelete(Consumer spec) {
DynamicModulesResourceRemoveModulesDeleteOperationSpec r = new DynamicModulesResourceRemoveModulesDeleteOperationSpec(spec);
api.dynamicModulesResourceRemoveModulesDelete(r.moduleKey());
}
/**
* Edit issue
*
* Edits an issue. A transition may be applied and issue properties updated as part of the edit.
* The edits to the issue's fields are defined using {@code update} and {@code fields}. The fields that can be edited are determined using [ Get edit issue metadata](#api-rest-api-3-issue-issueIdOrKey-editmeta-get).
* The parent field may be set by key or ID. For standard issue types, the parent may be removed by setting {@code update.parent.set.none} to *true*. 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.
* Connect apps having an app user with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), can override the screen security configuration using {@code overrideScreenSecurity} and {@code overrideEditableFlag}.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* and *Edit 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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - issueUpdateDetails:
* - notifyUsers: Whether a notification email about the issue update is sent to all watchers. To disable the notification, administer Jira or administer project permissions are required. If the user doesn't have the necessary permission the request is ignored.
* - overrideScreenSecurity: Whether screen security is overridden to enable hidden fields to be edited. Available to Connect app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* - overrideEditableFlag: Whether screen security is overridden to enable uneditable fields to be edited. Available to Connect app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* - returnIssue: Whether the response should contain the issue with fields edited in this request. The returned issue will have the same format as in the [Get issue API](#api-rest-api-3-issue-issueidorkey-get).
* - expand: The Get issue API expand parameter to use in the response if the {@code returnIssue} parameter is {@code true}.
*
*/
public Object editIssue(Consumer spec) {
EditIssueOperationSpec r = new EditIssueOperationSpec(spec);
return api.editIssue(r.issueIdOrKey(), r.issueUpdateDetails(), r.notifyUsers(), r.overrideScreenSecurity(), r.overrideEditableFlag(), r.returnIssue(), r.expand());
}
/**
* Evaluate Jira expression
*
* Evaluates a Jira expression and returns its value.
* This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible way. Consult the [Jira expressions documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.
* #### Context variables ####
* The following context variables are available to Jira expressions evaluated by this resource. Their presence depends on various factors; usually you need to manually request them in the context object sent in the payload, but some of them are added automatically under certain conditions.
* *
* {@code user} ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The current user. Always available and equal to {@code null} if the request is anonymous.
* *
* {@code app} ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request. Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).
* *
* {@code issue} ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The current issue. Available only when the issue is provided in the request context object.
* *
* {@code issues} ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A collection of issues matching a JQL query. Available only when JQL is provided in the request context object.
* *
* {@code project} ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)): The current project. Available only when the project is provided in the request context object.
* *
* {@code sprint} ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)): The current sprint. Available only when the sprint is provided in the request context object.
* *
* {@code board} ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The current board. Available only when the board is provided in the request context object.
* *
* {@code serviceDesk} ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)): The current service desk. Available only when the service desk is provided in the request context object.
* *
* {@code customerRequest} ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)): The current customer request. Available only when the customer request is provided in the request context object.
* Also, custom context variables can be passed in the request with their types. Those variables can be accessed by key in the Jira expression. These variable types are available for use in a custom context:
* *
* {@code user}: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user) specified as an Atlassian account ID.
* *
* {@code issue}: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue) specified by ID or key. All the fields of the issue object are available in the Jira expression.
* *
* {@code json}: A JSON object containing custom content.
* *
* {@code list}: A JSON list of {@code user}, {@code issue}, or {@code json} variable types.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required**: None. However, an expression may return different results for different users depending on their permissions. For example, different users may see different comments on the same issue.
* Permission to access Jira Software is required to access Jira Software context variables ({@code board} and {@code sprint}) or fields (for example, {@code issue.sprint}).
* Authentication - Required Scopes: [read:jira-work, read:jira-user]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - jiraExpressionEvalRequestBean: The Jira expression and the evaluation context.
* - expand: Use [expand](#expansion) to include additional information in the response. This parameter accepts {@code meta.complexity} that returns information about the expression complexity. For example, the number of expensive operations used by the expression and how close the expression is to reaching the [complexity limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing and debugging your expressions.
*
*/
public JiraExpressionResult evaluateJiraExpression(Consumer spec) {
EvaluateJiraExpressionOperationSpec r = new EvaluateJiraExpressionOperationSpec(spec);
return api.evaluateJiraExpression(r.jiraExpressionEvalRequestBean(), r.expand());
}
/**
* Get all metadata for an expanded attachment
*
* Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported.
* Use this operation to retrieve data that is presented to the user, as this operation returns the metadata for the attachment itself, such as the attachment's ID and name. Otherwise, use [ Get contents metadata for an expanded attachment](#api-rest-api-3-attachment-id-expand-raw-get), which only returns the metadata for the attachment's contents.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** For the issue containing the attachment:
* *
* *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: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the attachment.
*
*/
public AttachmentArchiveMetadataReadable expandAttachmentForHumans(Consumer spec) {
ExpandAttachmentForHumansOperationSpec r = new ExpandAttachmentForHumansOperationSpec(spec);
return api.expandAttachmentForHumans(r.id());
}
/**
* Get contents metadata for an expanded attachment
*
* Returns the metadata for the contents of an attachment, if it is an archive. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned. Currently, only the ZIP archive format is supported.
* Use this operation if you are processing the data without presenting it to the user, as this operation only returns the metadata for the contents of the attachment. Otherwise, to retrieve data to present to the user, use [ Get all metadata for an expanded attachment](#api-rest-api-3-attachment-id-expand-human-get) which also returns the metadata for the attachment itself, such as the attachment's ID and name.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** For the issue containing the attachment:
* *
* *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: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the attachment.
*
*/
public AttachmentArchiveImpl expandAttachmentForMachines(Consumer spec) {
ExpandAttachmentForMachinesOperationSpec r = new ExpandAttachmentForMachinesOperationSpec(spec);
return api.expandAttachmentForMachines(r.id());
}
/**
* Export archived issue(s)
*
* Enables admins to retrieve details of all archived issues. Upon a successful request, the admin who submitted it will receive an email with a link to download a CSV file with the issue details.
* Note that this API only exports the values of system fields and archival-specific fields ({@code ArchivedBy} and {@code ArchivedDate}). Custom fields aren't supported.
* **[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 can be active at any given time.
*
*
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - archivedIssuesFilterRequest: You can filter the issues in your request by the {@code projects}, {@code archivedBy}, {@code archivedDate}, {@code issueTypes}, and {@code reporters} fields. All filters are optional. If you don't provide any filters, you'll get a list of up to one million archived issues.
*
*/
public ExportArchivedIssuesTaskProgressResponse exportArchivedIssues(Consumer spec) {
ExportArchivedIssuesOperationSpec r = new ExportArchivedIssuesOperationSpec(spec);
return api.exportArchivedIssues(r.archivedIssuesFilterRequest());
}
/**
* Find users assignable to issues
*
* Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be assigned to:
* *
* a new issue, by providing the {@code projectKeyOrId}.
* *
* an updated issue, by providing the {@code issueKey}.
* *
* to an issue during a transition (workflow action), by providing the {@code issueKey} and the transition id in {@code actionDescriptorId}. You can obtain the IDs of an issue's valid transitions using the {@code transitions} option in the {@code expand} parameter of [ Get issue](#api-rest-api-3-issue-issueIdOrKey-get).
* In all these cases, you can pass an account ID to determine if a user can be assigned to an issue. The user is returned in the response if they can be assigned to the issue or issue transition.
* This operation takes the users in the range defined by {@code startAt} and {@code maxResults}, up to the thousandth user, and then returns only the users from that range that can be assigned the issue. This means the operation usually returns fewer users than specified in {@code maxResults}. To get all the users who can be assigned the issue, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.
* Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
* **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Assign issues* [project permission](https://confluence.atlassian.com/x/yodKLg)
* Authentication - Required Scopes: [read:jira-user]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - query: A query string that is matched against user attributes, such as {@code displayName}, and {@code emailAddress}, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a {@code displayName} of *John Smith* and a user with an {@code emailAddress} of *[email protected]*. Required, unless {@code username} or {@code accountId} is specified.
* - sessionId: The sessionId of this request. SessionId is the same until the assignee is set.
* - username: This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
* - accountId: A query string that is matched exactly against user {@code accountId}. Required, unless {@code query} is specified.
* - project: The project ID or project key (case sensitive). Required, unless {@code issueKey} is specified.
* - issueKey: The key of the issue. Required, unless {@code project} is specified.
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return. This operation may return less than the maximum number of items even if more are available. The operation fetches users up to the maximum and then, from the fetched users, returns only the users that can be assigned to the issue.
* - actionDescriptorId: The ID of the transition.
* - recommend:
*
*/
public List findAssignableUsers(Consumer spec) {
FindAssignableUsersOperationSpec r = new FindAssignableUsersOperationSpec(spec);
return api.findAssignableUsers(r.query(), r.sessionId(), r.username(), r.accountId(), r.project(), r.issueKey(), r.startAt(), r.maxResults(), r.actionDescriptorId(), r.recommend());
}
/**
* Find users assignable to projects
*
* Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users whose attributes match a string.
* This operation takes the users in the range defined by {@code startAt} and {@code maxResults}, up to the thousandth user, and then returns only the users from that range that can be assigned issues in the projects. This means the operation usually returns fewer users than specified in {@code maxResults}. To get all the users who can be assigned issues in the projects, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.
* Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** None.
* Authentication - Required Scopes: [read:jira-user]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectKeys: A list of project keys (case sensitive). This parameter accepts a comma-separated list.
* - query: A query string that is matched against user attributes, such as {@code displayName} and {@code emailAddress}, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a {@code displayName} of *John Smith* and a user with an {@code emailAddress} of *[email protected]*. Required, unless {@code accountId} is specified.
* - username: This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
* - accountId: A query string that is matched exactly against user {@code accountId}. Required, unless {@code query} is specified.
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
*
*/
public List findBulkAssignableUsers(Consumer spec) {
FindBulkAssignableUsersOperationSpec r = new FindBulkAssignableUsersOperationSpec(spec);
return api.findBulkAssignableUsers(r.projectKeys(), r.query(), r.username(), r.accountId(), r.startAt(), r.maxResults());
}
/**
* Find groups
*
* Returns a list of groups whose names contain a query string. A list of group names can be provided to exclude groups from the results.
* The primary use case for this resource is to populate a group picker suggestions list. To this end, the returned object includes the {@code html} field where the matched query term is highlighted in the group name with the HTML strong tag. Also, the groups list is wrapped in a response object that contains a header for use in the picker, specifically *Showing X of Y matching groups*.
* The list returns with the groups sorted. If no groups match the list criteria, an empty list is returned.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg). Anonymous calls and calls by users without the required permission return an empty list.
* *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Without this permission, calls where query is not an exact match to an existing group will return an empty list.
* Authentication - Required Scopes: [read:jira-user]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - accountId: This parameter is deprecated, setting it does not affect the results. To find groups containing a particular user, use [Get user groups](#api-rest-api-3-user-groups-get).
* - query: The string to find in group names.
* - exclude: As a group's name can change, use of {@code excludeGroupIds} is recommended to identify a group. A group to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, {@code exclude=group1&exclude=group2}. This parameter cannot be used with the {@code excludeGroupIds} parameter.
* - excludeId: A group ID to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, {@code excludeId=group1-id&excludeId=group2-id}. This parameter cannot be used with the {@code excludeGroups} parameter.
* - maxResults: The maximum number of groups to return. The maximum number of groups that can be returned is limited by the system property {@code jira.ajax.autocomplete.limit}.
* - caseInsensitive: Whether the search for groups should be case insensitive.
* - userName: This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
*
*/
public FoundGroups findGroups(Consumer spec) {
FindGroupsOperationSpec r = new FindGroupsOperationSpec(spec);
return api.findGroups(r.accountId(), r.query(), r.exclude(), r.excludeId(), r.maxResults(), r.caseInsensitive(), r.userName());
}
/**
* Find user keys by query
*
* Finds users with a structured query and returns a [paginated](#pagination) list of user keys.
* This operation takes the users in the range defined by {@code startAt} and {@code maxResults}, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in {@code maxResults}. To get all the users who match the structured query, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.
* **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* The query statements are:
* *
* {@code is assignee of PROJ} Returns the users that are assignees of at least one issue in project *PROJ*.
* *
* {@code is assignee of (PROJ-1, PROJ-2)} Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.
* *
* {@code is reporter of (PROJ-1, PROJ-2)} Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.
* *
* {@code is watcher of (PROJ-1, PROJ-2)} Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.
* *
* {@code is voter of (PROJ-1, PROJ-2)} Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.
* *
* {@code is commenter of (PROJ-1, PROJ-2)} Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.
* *
* {@code is transitioner of (PROJ-1, PROJ-2)} Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.
* *
* {@code [propertyKey].entity.property.path is "property value"} Returns users with the entity property value.
* The list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the {@code AND} and {@code OR} operators to form more complex queries. For example:
* {@code is assignee of PROJ AND [propertyKey].entity.property.path is "property value"}
* Authentication - Required Scopes: [read:jira-user]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - query: The search query.
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResult: The maximum number of items to return per page.
*
*/
public PageBeanUserKey findUserKeysByQuery(Consumer spec) {
FindUserKeysByQueryOperationSpec r = new FindUserKeysByQueryOperationSpec(spec);
return api.findUserKeysByQuery(r.query(), r.startAt(), r.maxResult());
}
/**
* Find users
*
* Returns a list of active users that match the search string and property.
* This operation first applies a filter to match the search string and property, and then takes the filtered users in the range defined by {@code startAt} and {@code maxResults}, up to the thousandth user. To get all the users who match the search string and property, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.
* This operation can be accessed anonymously.
* Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
* **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls or calls by users without the required permission return empty search results.
* Authentication - Required Scopes: [read:jira-user]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - query: A query string that is matched against user attributes ( {@code displayName}, and {@code emailAddress}) to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a {@code displayName} of *John Smith* and a user with an {@code emailAddress} of *[email protected]*. Required, unless {@code accountId} or {@code property} is specified.
* - username:
* - accountId: A query string that is matched exactly against a user {@code accountId}. Required, unless {@code query} or {@code property} is specified.
* - startAt: The index of the first item to return in a page of filtered results (page offset).
* - maxResults: The maximum number of items to return per page.
* - property: A query string used to search properties. Property keys are specified by path, so property keys containing dot (.) or equals (=) characters cannot be used. The query string cannot be specified using a JSON object. Example: To search for the value of {@code nested} from {@code {"something":{"nested":1,"other":2}}} use {@code thepropertykey.something.nested=1}. Required, unless {@code accountId} or {@code query} is specified.
*
*/
public List findUsers(Consumer spec) {
FindUsersOperationSpec r = new FindUsersOperationSpec(spec);
return api.findUsers(r.query(), r.username(), r.accountId(), r.startAt(), r.maxResults(), r.property());
}
/**
* Find users and groups
*
* Returns a list of users and groups matching a string. The string is used:
* *
* for users, to find a case-insensitive match with display name and e-mail address. Note that if a user has hidden their email address in their user profile, partial matches of the email address will not find the user. An exact match is required.
* *
* for groups, to find a case-sensitive match with group name.
* For example, if the string *tin* is used, records with the display name *Tina*, email address *[email protected]*, and the group *accounting* would be returned.
* Optionally, the search can be refined to:
* *
* the projects and issue types associated with a custom field, such as a user picker. The search can then be further refined to return only users and groups that have permission to view specific:
*
*
*
*
* *
* projects.
*
*
* *
* issue types.
*
*
*
*
* If multiple projects or issue types are specified, they must be a subset of those enabled for the custom field or no results are returned. For example, if a field is enabled for projects A, B, and C then the search could be limited to projects B and C. However, if the search is limited to projects B and D, nothing is returned.
* *
* not return Connect app users and groups.
* *
* return groups that have a case-insensitive match with the query.
* The primary use case for this resource is to populate a picker field suggestion list with users or groups. To this end, the returned object includes an {@code html} field for each list. This field highlights the matched query term in the item name with the HTML strong tag. Also, each list is wrapped in a response object that contains a header for use in a picker, specifically *Showing X of Y matching groups*.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/yodKLg).
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - query: The search string.
* - maxResults: The maximum number of items to return in each list.
* - showAvatar: Whether the user avatar should be returned. If an invalid value is provided, the default value is used.
* - fieldId: The custom field ID of the field this request is for.
* - projectId: The ID of a project that returned users and groups must have permission to view. To include multiple projects, provide an ampersand-separated list. For example, {@code projectId=10000&projectId=10001}. This parameter is only used when {@code fieldId} is present.
* - issueTypeId: The ID of an issue type that returned users and groups must have permission to view. To include multiple issue types, provide an ampersand-separated list. For example, {@code issueTypeId=10000&issueTypeId=10001}. Special values, such as {@code -1} (all standard issue types) and {@code -2} (all subtask issue types), are supported. This parameter is only used when {@code fieldId} is present.
* - avatarSize: The size of the avatar to return. If an invalid value is provided, the default value is used.
* - caseInsensitive: Whether the search for groups should be case insensitive.
* - excludeConnectAddons: Whether Connect app users and groups should be excluded from the search results. If an invalid value is provided, the default value is used.
*
*/
public FoundUsersAndGroups findUsersAndGroups(Consumer spec) {
FindUsersAndGroupsOperationSpec r = new FindUsersAndGroupsOperationSpec(spec);
return api.findUsersAndGroups(r.query(), r.maxResults(), r.showAvatar(), r.fieldId(), r.projectId(), r.issueTypeId(), r.avatarSize(), r.caseInsensitive(), r.excludeConnectAddons());
}
/**
* Find users by query
*
* Finds users with a structured query and returns a [paginated](#pagination) list of user details.
* This operation takes the users in the range defined by {@code startAt} and {@code maxResults}, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in {@code maxResults}. To get all the users who match the structured query, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.
* **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* The query statements are:
* *
* {@code is assignee of PROJ} Returns the users that are assignees of at least one issue in project *PROJ*.
* *
* {@code is assignee of (PROJ-1, PROJ-2)} Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.
* *
* {@code is reporter of (PROJ-1, PROJ-2)} Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.
* *
* {@code is watcher of (PROJ-1, PROJ-2)} Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.
* *
* {@code is voter of (PROJ-1, PROJ-2)} Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.
* *
* {@code is commenter of (PROJ-1, PROJ-2)} Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.
* *
* {@code is transitioner of (PROJ-1, PROJ-2)} Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.
* *
* {@code [propertyKey].entity.property.path is "property value"} Returns users with the entity property value.
* The list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the {@code AND} and {@code OR} operators to form more complex queries. For example:
* {@code is assignee of PROJ AND [propertyKey].entity.property.path is "property value"}
* Authentication - Required Scopes: [read:jira-user]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - query: The search query.
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
*
*/
public PageBeanUser findUsersByQuery(Consumer spec) {
FindUsersByQueryOperationSpec r = new FindUsersByQueryOperationSpec(spec);
return api.findUsersByQuery(r.query(), r.startAt(), r.maxResults());
}
/**
* Find users for picker
*
* Returns a list of users whose attributes match the query term. The returned object includes the {@code html} field where the matched query term is highlighted with the HTML strong tag. A list of account IDs can be provided to exclude users from the results.
* This operation takes the users in the range defined by {@code maxResults}, up to the thousandth user, and then returns only the users from that range that match the query term. This means the operation usually returns fewer users than specified in {@code maxResults}. To get all the users who match the query term, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.
* Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return search results for an exact name match only.
* Authentication - Required Scopes: [read:jira-user]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - query: A query string that is matched against user attributes, such as {@code displayName}, and {@code emailAddress}, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a {@code displayName} of *John Smith* and a user with an {@code emailAddress} of *[email protected]*.
* - maxResults: The maximum number of items to return. The total number of matched users is returned in {@code total}.
* - showAvatar: Include the URI to the user's avatar.
* - exclude: This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
* - excludeAccountIds: A list of account IDs to exclude from the search results. This parameter accepts a comma-separated list. Multiple account IDs can also be provided using an ampersand-separated list. For example, {@code excludeAccountIds=5b10a2844c20165700ede21g,5b10a0effa615349cb016cd8&excludeAccountIds=5b10ac8d82e05b22cc7d4ef5}. Cannot be provided with {@code exclude}.
* - avatarSize:
* - excludeConnectUsers:
*
*/
public FoundUsers findUsersForPicker(Consumer spec) {
FindUsersForPickerOperationSpec r = new FindUsersForPickerOperationSpec(spec);
return api.findUsersForPicker(r.query(), r.maxResults(), r.showAvatar(), r.exclude(), r.excludeAccountIds(), r.avatarSize(), r.excludeConnectUsers());
}
/**
* Find users with permissions
*
* Returns a list of users who fulfill these criteria:
* *
* their user attributes match a search string.
* *
* they have a set of permissions for a project or issue.
* If no search string is provided, a list of all users with the permissions is returned.
* This operation takes the users in the range defined by {@code startAt} and {@code maxResults}, up to the thousandth user, and then returns only the users from that range that match the search string and have permission for the project or issue. This means the operation usually returns fewer users than specified in {@code maxResults}. To get all the users who match the search string and have permission for the project or issue, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.
* Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get users for any project.
* *
* *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project, to get users for that project.
* Authentication - Required Scopes: [read:jira-user]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - permissions: A comma separated list of permissions. Permissions can be specified as any: * permission returned by [Get all permissions](#api-rest-api-3-permissions-get). * custom project permission added by Connect apps. * (deprecated) one of the following: * ASSIGNABLE\\_USER * ASSIGN\\_ISSUE * ATTACHMENT\\_DELETE\\_ALL * ATTACHMENT\\_DELETE\\_OWN * BROWSE * CLOSE\\_ISSUE * COMMENT\\_DELETE\\_ALL * COMMENT\\_DELETE\\_OWN * COMMENT\\_EDIT\\_ALL * COMMENT\\_EDIT\\_OWN * COMMENT\\_ISSUE * CREATE\\_ATTACHMENT * CREATE\\_ISSUE * DELETE\\_ISSUE * EDIT\\_ISSUE * LINK\\_ISSUE * MANAGE\\_WATCHER\\_LIST * MODIFY\\_REPORTER * MOVE\\_ISSUE * PROJECT\\_ADMIN * RESOLVE\\_ISSUE * SCHEDULE\\_ISSUE * SET\\_ISSUE\\_SECURITY * TRANSITION\\_ISSUE * VIEW\\_VERSION\\_CONTROL * VIEW\\_VOTERS\\_AND\\_WATCHERS * VIEW\\_WORKFLOW\\_READONLY * WORKLOG\\_DELETE\\_ALL * WORKLOG\\_DELETE\\_OWN * WORKLOG\\_EDIT\\_ALL * WORKLOG\\_EDIT\\_OWN * WORK\\_ISSUE
* - query: A query string that is matched against user attributes, such as {@code displayName} and {@code emailAddress}, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a {@code displayName} of *John Smith* and a user with an {@code emailAddress} of *[email protected]*. Required, unless {@code accountId} is specified.
* - username: This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
* - accountId: A query string that is matched exactly against user {@code accountId}. Required, unless {@code query} is specified.
* - issueKey: The issue key for the issue.
* - projectKey: The project key for the project (case sensitive).
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
*
*/
public List findUsersWithAllPermissions(Consumer spec) {
FindUsersWithAllPermissionsOperationSpec r = new FindUsersWithAllPermissionsOperationSpec(spec);
return api.findUsersWithAllPermissions(r.permissions(), r.query(), r.username(), r.accountId(), r.issueKey(), r.projectKey(), r.startAt(), r.maxResults());
}
/**
* Find users with browse permission
*
* Returns a list of users who fulfill these criteria:
* *
* their user attributes match a search string.
* *
* they have permission to browse issues.
* Use this resource to find users who can browse:
* *
* an issue, by providing the {@code issueKey}.
* *
* any issue in a project, by providing the {@code projectKey}.
* This operation takes the users in the range defined by {@code startAt} and {@code maxResults}, up to the thousandth user, and then returns only the users from that range that match the search string and have permission to browse issues. This means the operation usually returns fewer users than specified in {@code maxResults}. To get all the users who match the search string and have permission to browse issues, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.
* Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return empty search results.
* Authentication - Required Scopes: [read:jira-user]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - query: A query string that is matched against user attributes, such as {@code displayName} and {@code emailAddress}, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a {@code displayName} of *John Smith* and a user with an {@code emailAddress} of *[email protected]*. Required, unless {@code accountId} is specified.
* - username: This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
* - accountId: A query string that is matched exactly against user {@code accountId}. Required, unless {@code query} is specified.
* - issueKey: The issue key for the issue. Required, unless {@code projectKey} is specified.
* - projectKey: The project key for the project (case sensitive). Required, unless {@code issueKey} is specified.
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
*
*/
public List findUsersWithBrowsePermission(Consumer spec) {
FindUsersWithBrowsePermissionOperationSpec r = new FindUsersWithBrowsePermissionOperationSpec(spec);
return api.findUsersWithBrowsePermission(r.query(), r.username(), r.accountId(), r.issueKey(), r.projectKey(), r.startAt(), r.maxResults());
}
/**
* Fully update project role
*
* Updates the project role's name and description. You must include both a name and a description in the request.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - 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.
* - createUpdateRoleRequestBean:
*
*/
public ProjectRole fullyUpdateProjectRole(Consumer spec) {
FullyUpdateProjectRoleOperationSpec r = new FullyUpdateProjectRoleOperationSpec(spec);
return api.fullyUpdateProjectRole(r.id(), r.createUpdateRoleRequestBean());
}
/**
* Get accessible project type by key
*
* Returns a [project type](https://confluence.atlassian.com/x/Var1Nw) if it is accessible to the user.
* **[Permissions](#permissions) required:** Permission to access Jira.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectTypeKey: The key of the project type.
*
*/
public ProjectType getAccessibleProjectTypeByKey(Consumer spec) {
GetAccessibleProjectTypeByKeyOperationSpec r = new GetAccessibleProjectTypeByKeyOperationSpec(spec);
return api.getAccessibleProjectTypeByKey(r.projectTypeKey());
}
/**
* Get advanced settings
*
* Returns the application properties that are accessible on the *Advanced Settings* page. To navigate to the *Advanced Settings* page in Jira, choose the Jira icon > **Jira settings** > **System**, **General Configuration** and then click **Advanced Settings** (in the upper right).
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
*/
public List getAdvancedSettings() {
return api.getAdvancedSettings();
}
/**
* Get licensed project types
*
* Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license.
* Authentication - Required Scopes: [read:jira-work]
*/
public List getAllAccessibleProjectTypes() {
return api.getAllAccessibleProjectTypes();
}
/**
* Get all application roles
*
* Returns all application roles. In Jira, application roles are managed using the [Application access configuration](https://confluence.atlassian.com/x/3YxjL) page.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
*/
public List getAllApplicationRoles() {
return api.getAllApplicationRoles();
}
/**
* Get available gadgets
*
* Gets a list of all available gadgets that can be added to all dashboards.
* **[Permissions](#permissions) required:** None.
* Authentication - Required Scopes: [read:jira-work]
*/
public AvailableDashboardGadgetsResponse getAllAvailableDashboardGadgets() {
return api.getAllAvailableDashboardGadgets();
}
/**
* Get all dashboards
*
* Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or owned dashboards.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** None.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - filter: The filter applied to the list of dashboards. Valid values are: * {@code favourite} Returns dashboards the user has marked as favorite. * {@code my} Returns dashboards owned by the user.
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
*
*/
public PageOfDashboards getAllDashboards(Consumer spec) {
GetAllDashboardsOperationSpec r = new GetAllDashboardsOperationSpec(spec);
return api.getAllDashboards(r.filter(), r.startAt(), r.maxResults());
}
/**
* Get all field configurations
*
* Returns a [paginated](#pagination) list of field configurations. The list can be for all field configurations or a subset determined by any combination of these criteria:
* *
* a list of field configuration item IDs.
* *
* whether the field configuration is a default.
* *
* whether the field configuration name or description contains a query string.
* Only field configurations used in company-managed (classic) projects are returned.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
* - id: The list of field configuration IDs. To include multiple IDs, provide an ampersand-separated list. For example, {@code id=10000&id=10001}.
* - isDefault: If *true* returns default field configurations only.
* - query: The query string used to match against field configuration names and descriptions.
*
*/
public PageBeanFieldConfigurationDetails getAllFieldConfigurations(Consumer spec) {
GetAllFieldConfigurationsOperationSpec r = new GetAllFieldConfigurationsOperationSpec(spec);
return api.getAllFieldConfigurations(r.startAt(), r.maxResults(), r.id(), r.isDefault(), r.query());
}
/**
* Get all fieldg rnfiguration schemes
*
* Returns a [paginated](#pagination) list of field configuration schemes.
* Only field configuration schemes used in classic projects are returned.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
* - id: The list of field configuration scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, {@code id=10000&id=10001}.
*
*/
public PageBeanFieldConfigurationScheme getAllFieldgRnfigurationSchemes(Consumer spec) {
GetAllFieldgRnfigurationSchemesOperationSpec r = new GetAllFieldgRnfigurationSchemesOperationSpec(spec);
return api.getAllFieldgRnfigurationSchemes(r.startAt(), r.maxResults(), r.id());
}
/**
* Get gadgets
*
* Returns a list of dashboard gadgets on a dashboard.
* This operation returns:
* *
* Gadgets from a list of IDs, when {@code id} is set.
* *
* Gadgets with a module key, when {@code moduleKey} is set.
* *
* Gadgets from a list of URIs, when {@code uri} is set.
* *
* All gadgets, when no other parameters are set.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** None.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - dashboardId: The ID of the dashboard.
* - moduleKey: The list of gadgets module keys. To include multiple module keys, separate module keys with ampersand: {@code moduleKey=key:one&moduleKey=key:two}.
* - uri: The list of gadgets URIs. To include multiple URIs, separate URIs with ampersand: {@code uri=/rest/example/uri/1&uri=/rest/example/uri/2}.
* - gadgetId: The list of gadgets IDs. To include multiple IDs, separate IDs with ampersand: {@code gadgetId=10000&gadgetId=10001}.
*
*/
public DashboardGadgetResponse getAllGadgets(Consumer spec) {
GetAllGadgetsOperationSpec r = new GetAllGadgetsOperationSpec(spec);
return api.getAllGadgets(r.dashboardId(), r.moduleKey(), r.uri(), r.gadgetId());
}
/**
* Get all issue field options
*
* Returns a [paginated](#pagination) list of all the options of a select list issue field. A select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select a value from a list of options.
* 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 spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - 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"}
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
*
*/
public PageBeanIssueFieldOption getAllIssueFieldOptions(Consumer spec) {
GetAllIssueFieldOptionsOperationSpec r = new GetAllIssueFieldOptionsOperationSpec(spec);
return api.getAllIssueFieldOptions(r.fieldKey(), r.startAt(), r.maxResults());
}
/**
* Get all issue type schemes
*
* Returns a [paginated](#pagination) list of issue type schemes.
* Only issue type schemes used in classic projects are returned.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
* - id: The list of issue type schemes IDs. To include multiple IDs, provide an ampersand-separated list. For example, {@code id=10000&id=10001}.
* - orderBy: [Order](#ordering) the results by a field: * {@code name} Sorts by issue type scheme name. * {@code id} Sorts by issue type scheme ID.
* - expand: Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include: * {@code projects} For each issue type schemes, returns information about the projects the issue type scheme is assigned to. * {@code issueTypes} For each issue type schemes, returns information about the issueTypes the issue type scheme have.
* - queryString: String used to perform a case-insensitive partial match with issue type scheme name.
*
*/
public PageBeanIssueTypeScheme getAllIssueTypeSchemes(Consumer spec) {
GetAllIssueTypeSchemesOperationSpec r = new GetAllIssueTypeSchemesOperationSpec(spec);
return api.getAllIssueTypeSchemes(r.startAt(), r.maxResults(), r.id(), r.orderBy(), r.expand(), r.queryString());
}
/**
* Get all labels
*
* Returns a [paginated](#pagination) list of labels.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
*
*/
public PageBeanString getAllLabels(Consumer spec) {
GetAllLabelsOperationSpec r = new GetAllLabelsOperationSpec(spec);
return api.getAllLabels(r.startAt(), r.maxResults());
}
/**
* Get all permission schemes
*
* Returns all permission schemes.
* ### About permission schemes and grants ###
* A permission scheme is a collection of permission grants. A permission grant consists of a {@code holder} and a {@code permission}.
* #### Holder object ####
* The {@code holder} object contains information about the user or group being granted the permission. For example, the *Administer projects* permission is granted to a group named *Teams in space administrators*. In this case, the type is {@code "type": "group"}, and the parameter is the group name, {@code "parameter": "Teams in space administrators"} and the value is group ID, {@code "value": "ca85fac0-d974-40ca-a615-7af99c48d24f"}.
* The {@code holder} object is defined by the following properties:
* *
* {@code type} Identifies the user or group (see the list of types below).
* *
* {@code parameter} As a group's name can change, use of {@code value} is recommended. The value of this property depends on the {@code type}. For example, if the {@code type} is a group, then you need to specify the group name.
* *
* {@code value} The value of this property depends on the {@code type}. If the {@code type} is a group, then you need to specify the group ID. For other {@code type} it has the same value as {@code parameter}
* The following {@code types} are available. The expected values for {@code parameter} and {@code value} are given in parentheses (some types may not have a {@code parameter} or {@code value}):
* *
* {@code anyone} Grant for anonymous users.
* *
* {@code applicationRole} Grant for users with access to the specified application (application name, application name). See [Update product access settings](https://confluence.atlassian.com/x/3YxjL) for more information.
* *
* {@code assignee} Grant for the user currently assigned to an issue.
* *
* {@code group} Grant for the specified group ({@code parameter} : group name, {@code value} : group ID).
* *
* {@code groupCustomField} Grant for a user in the group selected in the specified custom field ({@code parameter} : custom field ID, {@code value} : custom field ID).
* *
* {@code projectLead} Grant for a project lead.
* *
* {@code projectRole} Grant for the specified project role ({@code parameter} :project role ID, {@code value} : project role ID).
* *
* {@code reporter} Grant for the user who reported the issue.
* *
* {@code sd.customer.portal.only} Jira Service Desk only. Grants customers permission to access the customer portal but not Jira. See [Customizing Jira Service Desk permissions](https://confluence.atlassian.com/x/24dKLg) for more information.
* *
* {@code user} Grant for the specified user ({@code parameter} : user ID - historically this was the userkey but that is deprecated and the account ID should be used, {@code value} : user ID).
* *
* {@code userCustomField} Grant for a user selected in the specified custom field ({@code parameter} : custom field ID, {@code value} : custom field ID).
* #### Built-in permissions ####
* The [built-in Jira permissions](https://confluence.atlassian.com/x/yodKLg) are listed below. Apps can also define custom permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information.
* **Project permissions**
* *
* {@code ADMINISTER_PROJECTS}
* *
* {@code BROWSE_PROJECTS}
* *
* {@code MANAGE_SPRINTS_PERMISSION} (Jira Software only)
* *
* {@code SERVICEDESK_AGENT} (Jira Service Desk only)
* *
* {@code VIEW_DEV_TOOLS} (Jira Software only)
* *
* {@code VIEW_READONLY_WORKFLOW}
* **Issue permissions**
* *
* {@code ASSIGNABLE_USER}
* *
* {@code ASSIGN_ISSUES}
* *
* {@code CLOSE_ISSUES}
* *
* {@code CREATE_ISSUES}
* *
* {@code DELETE_ISSUES}
* *
* {@code EDIT_ISSUES}
* *
* {@code LINK_ISSUES}
* *
* {@code MODIFY_REPORTER}
* *
* {@code MOVE_ISSUES}
* *
* {@code RESOLVE_ISSUES}
* *
* {@code SCHEDULE_ISSUES}
* *
* {@code SET_ISSUE_SECURITY}
* *
* {@code TRANSITION_ISSUES}
* **Voters and watchers permissions**
* *
* {@code MANAGE_WATCHERS}
* *
* {@code VIEW_VOTERS_AND_WATCHERS}
* **Comments permissions**
* *
* {@code ADD_COMMENTS}
* *
* {@code DELETE_ALL_COMMENTS}
* *
* {@code DELETE_OWN_COMMENTS}
* *
* {@code EDIT_ALL_COMMENTS}
* *
* {@code EDIT_OWN_COMMENTS}
* **Attachments permissions**
* *
* {@code CREATE_ATTACHMENTS}
* *
* {@code DELETE_ALL_ATTACHMENTS}
* *
* {@code DELETE_OWN_ATTACHMENTS}
* **Time tracking permissions**
* *
* {@code DELETE_ALL_WORKLOGS}
* *
* {@code DELETE_OWN_WORKLOGS}
* *
* {@code EDIT_ALL_WORKLOGS}
* *
* {@code EDIT_OWN_WORKLOGS}
* *
* {@code WORK_ON_ISSUES}
* **[Permissions](#permissions) required:** Permission to access Jira.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - expand: Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include: * {@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.
*
*/
public PermissionSchemes getAllPermissionSchemes(Consumer spec) {
GetAllPermissionSchemesOperationSpec r = new GetAllPermissionSchemesOperationSpec(spec);
return api.getAllPermissionSchemes(r.expand());
}
/**
* Get all permissions
*
* Returns all permissions, including:
* *
* global permissions.
* *
* project permissions.
* *
* global permissions added by plugins.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
*/
public Permissions getAllPermissions() {
return api.getAllPermissions();
}
/**
* Get all project avatars
*
* Returns all project avatars, grouped by system and custom avatars.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectIdOrKey: The ID or (case-sensitive) key of the project.
*
*/
public ProjectAvatars getAllProjectAvatars(Consumer spec) {
GetAllProjectAvatarsOperationSpec r = new GetAllProjectAvatarsOperationSpec(spec);
return api.getAllProjectAvatars(r.projectIdOrKey());
}
/**
* Get all project categories
*
* Returns all project categories.
* **[Permissions](#permissions) required:** Permission to access Jira.
* Authentication - Required Scopes: [read:jira-work]
*/
public List getAllProjectCategories() {
return api.getAllProjectCategories();
}
/**
* Get all project roles
*
* Gets a list of all project roles, complete with project role details and default actors.
* ### About project roles ###
* [Project roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) are a flexible way to to associate users and groups with projects. In Jira Cloud, the list of project roles is shared globally with all projects, but each project can have a different set of actors associated with it (unlike groups, which have the same membership throughout all Jira applications).
* Project roles are used in [permission schemes](#api-rest-api-3-permissionscheme-get), [email notification schemes](#api-rest-api-3-notificationscheme-get), [issue security levels](#api-rest-api-3-issuesecurityschemes-get), [comment visibility](#api-rest-api-3-comment-list-post), and workflow conditions.
* #### Members and actors ####
* In the Jira REST API, a member of a project role is called an *actor*. An *actor* is a group or user associated with a project role.
* Actors may be set as [default members](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/#Specifying-'default-members'-for-a-project-role) of the project role or set at the project level:
* *
* Default actors: Users and groups that are assigned to the project role for all newly created projects. The default actors can be removed at the project level later if desired.
* *
* Actors: Users and groups that are associated with a project role for a project, which may differ from the default actors. This enables you to assign a user to different roles in different projects.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
*/
public List getAllProjectRoles() {
return api.getAllProjectRoles();
}
/**
* Get all project types
*
* Returns all [project types](https://confluence.atlassian.com/x/Var1Nw), whether or not the instance has a valid license for each type.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** None.
* Authentication - Required Scopes: [read:jira-work]
*/
public List getAllProjectTypes() {
return api.getAllProjectTypes();
}
/**
* Get all projects
*
* Returns all projects visible to the user. Deprecated, use [ Get projects paginated](#api-rest-api-3-project-search-get) that supports search and pagination.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** Projects are returned only where the user has *Browse Projects* or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - expand: Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include: * {@code description} Returns the project description. * {@code issueTypes} Returns all issue types associated with the project. * {@code lead} Returns information about the project lead. * {@code projectKeys} Returns all project keys associated with the project.
* - recent: Returns the user's most recently accessed projects. You may specify the number of results to return up to a maximum of 20. If access is anonymous, then the recently accessed projects are based on the current HTTP session.
* - properties: A list of project properties to return for the project. This parameter accepts a comma-separated list.
*
* @deprecated
*/
@Deprecated
public List getAllProjects(Consumer spec) {
GetAllProjectsOperationSpec r = new GetAllProjectsOperationSpec(spec);
return api.getAllProjects(r.expand(), r.recent(), r.properties());
}
/**
* Get all screen tab fields
*
* Returns all fields for a screen tab.
* **[Permissions](#permissions) required:**
* *
* *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* *
* *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.
* Authentication - Required Scopes: [manage:jira-project]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - screenId: The ID of the screen.
* - tabId: The ID of the screen tab.
* - projectKey: The key of the project.
*
*/
public List getAllScreenTabFields(Consumer spec) {
GetAllScreenTabFieldsOperationSpec r = new GetAllScreenTabFieldsOperationSpec(spec);
return api.getAllScreenTabFields(r.screenId(), r.tabId(), r.projectKey());
}
/**
* Get all screen tabs
*
* Returns the list of tabs for a screen.
* **[Permissions](#permissions) required:**
* *
* *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* *
* *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.
* Authentication - Required Scopes: [manage:jira-project]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - screenId: The ID of the screen.
* - projectKey: The key of the project.
*
*/
public List getAllScreenTabs(Consumer spec) {
GetAllScreenTabsOperationSpec r = new GetAllScreenTabsOperationSpec(spec);
return api.getAllScreenTabs(r.screenId(), r.projectKey());
}
/**
* Get all statuses for project
*
* Returns the valid statuses for a project. The statuses are grouped by issue type, as each project has a set of valid issue types and each issue type has a set of valid statuses.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectIdOrKey: The project ID or project key (case sensitive).
*
*/
public List getAllStatuses(Consumer spec) {
GetAllStatusesOperationSpec r = new GetAllStatusesOperationSpec(spec);
return api.getAllStatuses(r.projectIdOrKey());
}
/**
* Get system avatars by type
*
* Returns a list of system avatar details by owner type, where the owner types are issue type, project, or user.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** None.
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - type: The avatar type.
*
*/
public SystemAvatars getAllSystemAvatars(Consumer spec) {
GetAllSystemAvatarsOperationSpec r = new GetAllSystemAvatarsOperationSpec(spec);
return api.getAllSystemAvatars(r.type());
}
/**
* Get all users
*
* Returns a list of all users, including active users, inactive users and previously deleted users that have an Atlassian account.
* Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
* **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [read:jira-user]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - startAt: The index of the first item to return.
* - maxResults: The maximum number of items to return.
*
*/
public List getAllUsers(Consumer spec) {
GetAllUsersOperationSpec r = new GetAllUsersOperationSpec(spec);
return api.getAllUsers(r.startAt(), r.maxResults());
}
/**
* Get all users default
*
* Returns a list of all users, including active users, inactive users and previously deleted users that have an Atlassian account.
* Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
* **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [read:jira-user]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - startAt: The index of the first item to return.
* - maxResults: The maximum number of items to return.
*
*/
public List getAllUsersDefault(Consumer spec) {
GetAllUsersDefaultOperationSpec r = new GetAllUsersDefaultOperationSpec(spec);
return api.getAllUsersDefault(r.startAt(), r.maxResults());
}
/**
* Get all workflow schemes
*
* Returns a [paginated](#pagination) list of all workflow schemes, not including draft workflow schemes.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
*
*/
public PageBeanWorkflowScheme getAllWorkflowSchemes(Consumer spec) {
GetAllWorkflowSchemesOperationSpec r = new GetAllWorkflowSchemesOperationSpec(spec);
return api.getAllWorkflowSchemes(r.startAt(), r.maxResults());
}
/**
* Get all workflows
*
* Returns all workflows in Jira or a workflow. Deprecated, use [Get workflows paginated](#api-rest-api-3-workflow-search-get).
* If the {@code workflowName} parameter is specified, the workflow is returned as an object (not in an array). Otherwise, an array of workflow objects is returned.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - workflowName: The name of the workflow to be returned. Only one workflow can be specified.
*
* @deprecated
*/
@Deprecated
public List getAllWorkflows(Consumer spec) {
GetAllWorkflowsOperationSpec r = new GetAllWorkflowsOperationSpec(spec);
return api.getAllWorkflows(r.workflowName());
}
/**
* Get alternative issue types
*
* Returns a list of issue types that can be used to replace the issue type. The alternative issue types are those assigned to the same workflow scheme, field configuration scheme, and screen scheme.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** None.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the issue type.
*
*/
public List getAlternativeIssueTypes(Consumer spec) {
GetAlternativeIssueTypesOperationSpec r = new GetAlternativeIssueTypesOperationSpec(spec);
return api.getAlternativeIssueTypes(r.id());
}
/**
* Get application property
*
* Returns all application properties or an application property.
* If you specify a value for the {@code key} parameter, then an application property is returned as an object (not in an array). Otherwise, an array of all editable application properties is returned. See [Set application property](#api-rest-api-3-application-properties-id-put) for descriptions of editable properties.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - key: The key of the application property.
* - permissionLevel: The permission level of all items being returned in the list.
* - keyFilter: When a {@code key} isn't provided, this filters the list of results by the application property {@code key} using a regular expression. For example, using {@code jira.lf.*} will return all application properties with keys that start with *jira.lf.*.
*
*/
public List getApplicationProperty(Consumer spec) {
GetApplicationPropertyOperationSpec r = new GetApplicationPropertyOperationSpec(spec);
return api.getApplicationProperty(r.key(), r.permissionLevel(), r.keyFilter());
}
/**
* Get application role
*
* Returns an application role.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - key: The key of the application role. Use the [Get all application roles](#api-rest-api-3-applicationrole-get) operation to get the key for each application role.
*
*/
public ApplicationRole getApplicationRole(Consumer spec) {
GetApplicationRoleOperationSpec r = new GetApplicationRoleOperationSpec(spec);
return api.getApplicationRole(r.key());
}
/**
* Get approximate application license count
*
* Returns the total approximate number of user accounts for a single Jira license. Note that this information is cached with a 7-day lifecycle and could be stale at the time of call.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - applicationKey: The ID of the application, represents a specific version of Jira.
*
*/
public LicenseMetric getApproximateApplicationLicenseCount(Consumer spec) {
GetApproximateApplicationLicenseCountOperationSpec r = new GetApproximateApplicationLicenseCountOperationSpec(spec);
return api.getApproximateApplicationLicenseCount(r.applicationKey());
}
/**
* Get approximate license count
*
* Returns the approximate number of user accounts across all Jira licenses. Note that this information is cached with a 7-day lifecycle and could be stale at the time of call.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
*/
public LicenseMetric getApproximateLicenseCount() {
return api.getApproximateLicenseCount();
}
/**
* Get assigned permission scheme
*
* Gets the [permission scheme](https://confluence.atlassian.com/x/yodKLg) associated with the project.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - projectKeyOrId: The project ID or project key (case sensitive).
* - 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.
*
*/
public PermissionScheme getAssignedPermissionScheme(Consumer spec) {
GetAssignedPermissionSchemeOperationSpec r = new GetAssignedPermissionSchemeOperationSpec(spec);
return api.getAssignedPermissionScheme(r.projectKeyOrId(), r.expand());
}
/**
* Get attachment metadata
*
* Returns the metadata for an attachment. Note that the attachment itself is not returned.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the attachment.
*
*/
public AttachmentMetadata getAttachment(Consumer spec) {
GetAttachmentOperationSpec r = new GetAttachmentOperationSpec(spec);
return api.getAttachment(r.id());
}
/**
* Get attachment content
*
* Returns the contents of an attachment. A {@code Range} header can be set to define a range of bytes within the attachment to download. See the [HTTP Range header standard](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) for details.
* To return a thumbnail of the attachment, use [Get attachment thumbnail](#api-rest-api-3-attachment-thumbnail-id-get).
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** For the issue containing the attachment:
* *
* *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: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the attachment.
* - redirect: Whether a redirect is provided for the attachment download. Clients that do not automatically follow redirects can set this to {@code false} to avoid making multiple requests to download the attachment.
*
*/
public Object getAttachmentContent(Consumer spec) {
GetAttachmentContentOperationSpec r = new GetAttachmentContentOperationSpec(spec);
return api.getAttachmentContent(r.id(), r.redirect());
}
/**
* Get Jira attachment settings
*
* Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed.
* Note that there are also [project permissions](https://confluence.atlassian.com/x/yodKLg) that restrict whether users can create and delete attachments.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** None.
* Authentication - Required Scopes: [read:jira-work]
*/
public AttachmentSettings getAttachmentMeta() {
return api.getAttachmentMeta();
}
/**
* Get attachment thumbnail
*
* Returns the thumbnail of an attachment.
* To return the attachment contents, use [Get attachment content](#api-rest-api-3-attachment-content-id-get).
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** For the issue containing the attachment:
* *
* *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: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the attachment.
* - redirect: Whether a redirect is provided for the attachment download. Clients that do not automatically follow redirects can set this to {@code false} to avoid making multiple requests to download the attachment.
* - fallbackToDefault: Whether a default thumbnail is returned when the requested thumbnail is not found.
* - width: The maximum width to scale the thumbnail to.
* - height: The maximum height to scale the thumbnail to.
*
*/
public Object getAttachmentThumbnail(Consumer spec) {
GetAttachmentThumbnailOperationSpec r = new GetAttachmentThumbnailOperationSpec(spec);
return api.getAttachmentThumbnail(r.id(), r.redirect(), r.fallbackToDefault(), r.width(), r.height());
}
/**
* Get audit records
*
* Returns a list of audit records. The list can be filtered to include items:
* *
* where each item in {@code filter} has at least one match in any of these fields:
*
*
*
*
* *
* {@code summary}
*
*
* *
* {@code category}
*
*
* *
* {@code eventSource}
*
*
* *
* {@code objectItem.name} If the object is a user, account ID is available to filter.
*
*
* *
* {@code objectItem.parentName}
*
*
* *
* {@code objectItem.typeName}
*
*
* *
* {@code changedValues.changedFrom}
*
*
* *
* {@code changedValues.changedTo}
*
*
* *
* {@code remoteAddress}
*
*
*
*
* For example, if {@code filter} contains *man ed*, an audit record containing {@code summary": "User added to group"} and {@code "category": "group management"} is returned.
* *
* created on or after a date and time.
* *
* created or or before a date and time.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - offset: The number of records to skip before returning the first result.
* - limit: The maximum number of results to return.
* - filter: The strings to match with audit field content, space separated.
* - from: The date and time on or after which returned audit records must have been created. If {@code to} is provided {@code from} must be before {@code to} or no audit records are returned.
* - to: The date and time on or before which returned audit results must have been created. If {@code from} is provided {@code to} must be after {@code from} or no audit records are returned.
*
*/
public AuditRecords getAuditRecords(Consumer spec) {
GetAuditRecordsOperationSpec r = new GetAuditRecordsOperationSpec(spec);
return api.getAuditRecords(r.offset(), r.limit(), r.filter(), r.from(), r.to());
}
/**
* Get field reference data (GET)
*
* Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder.
* To filter visible field details by project or collapse non-unique fields by field type then [Get field reference data (POST)](#api-rest-api-3-jql-autocompletedata-post) can be used.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** None.
* Authentication - Required Scopes: [read:jira-work]
*/
public JQLReferenceData getAutoComplete() {
return api.getAutoComplete();
}
/**
* Get field reference data (POST)
*
* Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder.
* This operation can filter the custom fields returned by project. Invalid project IDs in {@code projectIds} are ignored. System fields are always returned.
* It can also return the collapsed field for custom fields. Collapsed fields enable searches to be performed across all fields with the same name and of the same field type. For example, the collapsed field {@code Component - Component[Dropdown]} enables dropdown fields {@code Component - cf[10061]} and {@code Component - cf[10062]} to be searched simultaneously.
* **[Permissions](#permissions) required:** None.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - searchAutoCompleteFilter:
*
*/
public JQLReferenceData getAutoCompletePost(Consumer spec) {
GetAutoCompletePostOperationSpec r = new GetAutoCompletePostOperationSpec(spec);
return api.getAutoCompletePost(r.searchAutoCompleteFilter());
}
/**
* Get available screen fields
*
* Returns the fields that can be added to a tab on a screen.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-project]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - screenId: The ID of the screen.
*
*/
public List getAvailableScreenFields(Consumer spec) {
GetAvailableScreenFieldsOperationSpec r = new GetAvailableScreenFieldsOperationSpec(spec);
return api.getAvailableScreenFields(r.screenId());
}
/**
* Get all time tracking providers
*
* Returns all time tracking providers. By default, Jira only has one time tracking provider: *JIRA provided time tracking*. However, you can install other time tracking providers via apps from the Atlassian Marketplace. For more information on time tracking providers, see the documentation for the [ Time Tracking Provider](https://developer.atlassian.com/cloud/jira/platform/modules/time-tracking-provider/) module.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
*/
public List getAvailableTimeTrackingImplementations() {
return api.getAvailableTimeTrackingImplementations();
}
/**
* Get avatar image by ID
*
* Returns a project or issue type avatar image by ID.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* For system avatars, none.
* *
* For custom project avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the avatar belongs to.
* *
* For custom issue type avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the issue type is used in.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - type: The icon type of the avatar.
* - id: The ID of the avatar.
* - size: The size of the avatar image. If not provided the default size is returned.
* - format: The format to return the avatar image in. If not provided the original content format is returned.
*
*/
public void getAvatarImageByID(Consumer spec) {
GetAvatarImageByIDOperationSpec r = new GetAvatarImageByIDOperationSpec(spec);
api.getAvatarImageByID(r.type(), r.id(), r.size(), r.format());
}
/**
* Get avatar image by owner
*
* Returns the avatar image for a project or issue type.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* For system avatars, none.
* *
* For custom project avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the avatar belongs to.
* *
* For custom issue type avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the issue type is used in.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - type: The icon type of the avatar.
* - entityId: The ID of the project or issue type the avatar belongs to.
* - size: The size of the avatar image. If not provided the default size is returned.
* - format: The format to return the avatar image in. If not provided the original content format is returned.
*
*/
public void getAvatarImageByOwner(Consumer spec) {
GetAvatarImageByOwnerOperationSpec r = new GetAvatarImageByOwnerOperationSpec(spec);
api.getAvatarImageByOwner(r.type(), r.entityId(), r.size(), r.format());
}
/**
* Get avatar image by type
*
* Returns the default project or issue type avatar image.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** None.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - type: The icon type of the avatar.
* - size: The size of the avatar image. If not provided the default size is returned.
* - format: The format to return the avatar image in. If not provided the original content format is returned.
*
*/
public void getAvatarImageByType(Consumer spec) {
GetAvatarImageByTypeOperationSpec r = new GetAvatarImageByTypeOperationSpec(spec);
api.getAvatarImageByType(r.type(), r.size(), r.format());
}
/**
* Get avatars
*
* Returns the system and custom avatars for a project or issue type.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* for custom project avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the avatar belongs to.
* *
* for custom issue type avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the issue type is used in.
* *
* for system avatars, none.
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - type: The avatar type.
* - entityId: The ID of the item the avatar is associated with.
*
*/
public Avatars getAvatars(Consumer spec) {
GetAvatarsOperationSpec r = new GetAvatarsOperationSpec(spec);
return api.getAvatars(r.type(), r.entityId());
}
/**
* Get announcement banner configuration
*
* Returns the current announcement banner configuration.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
*/
public AnnouncementBannerConfiguration getBanner() {
return api.getBanner();
}
/**
* Get bulk permissions
*
* Returns:
* *
* for a list of global permissions, the global permissions granted to a user.
* *
* for a list of project permissions and lists of projects and issues, for each project permission a list of the projects and issues a user can access or manipulate.
* If no account ID is provided, the operation returns details for the logged in user.
* Note that:
* *
* Invalid project and issue IDs are ignored.
* *
* A maximum of 1000 projects and 1000 issues can be checked.
* *
* Null values in {@code globalPermissions}, {@code projectPermissions}, {@code projectPermissions.projects}, and {@code projectPermissions.issues} are ignored.
* *
* Empty strings in {@code projectPermissions.permissions} are ignored.
* **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
* *
* **Classic**: {@code read:jira-work}
* *
* **Granular**: {@code read:permission:jira}
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other users, otherwise none. However, Connect apps can make a call from the app server to the product to obtain permission details for any user, without admin permission. This Connect app ability doesn't apply to calls made using AP.request() in a browser.
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - bulkPermissionsRequestBean: Details of the permissions to check.
*
*/
public BulkPermissionGrants getBulkPermissions(Consumer spec) {
GetBulkPermissionsOperationSpec r = new GetBulkPermissionsOperationSpec(spec);
return api.getBulkPermissions(r.bulkPermissionsRequestBean());
}
/**
* Get bulk screen tabs
*
* Returns the list of tabs for a bulk of screens.
* **[Permissions](#permissions) required:**
* *
* *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-project]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - screenId: The list of screen IDs. To include multiple screen IDs, provide an ampersand-separated list. For example, {@code screenId=10000&screenId=10001}.
* - tabId: The list of tab IDs. To include multiple tab IDs, provide an ampersand-separated list. For example, {@code tabId=10000&tabId=10001}.
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResult: The maximum number of items to return per page. The maximum number is 100,
*
*/
public void getBulkScreenTabs(Consumer spec) {
GetBulkScreenTabsOperationSpec r = new GetBulkScreenTabsOperationSpec(spec);
api.getBulkScreenTabs(r.screenId(), r.tabId(), r.startAt(), r.maxResult());
}
/**
* Get changelogs
*
* Returns a [paginated](#pagination) list of all changelogs for an issue sorted by date, starting from the oldest.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
*
*/
public PageBeanChangelog getChangeLogs(Consumer spec) {
GetChangeLogsOperationSpec r = new GetChangeLogsOperationSpec(spec);
return api.getChangeLogs(r.issueIdOrKey(), r.startAt(), r.maxResults());
}
/**
* Get changelogs by IDs
*
* Returns changelogs for an issue specified by a list of changelog IDs.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - issueChangelogIds:
*
*/
public PageOfChangelogs getChangeLogsByIds(Consumer spec) {
GetChangeLogsByIdsOperationSpec r = new GetChangeLogsByIdsOperationSpec(spec);
return api.getChangeLogsByIds(r.issueIdOrKey(), r.issueChangelogIds());
}
/**
* Get columns
*
* Returns the columns configured for a filter. The column configuration is used when the filter's results are viewed in *List View* with the *Columns* set to *Filter*.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** None, however, column details are only returned for:
* *
* filters owned by the user.
* *
* filters shared with a group that the user is a member of.
* *
* filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.
* *
* filters shared with a public project.
* *
* filters shared with the public.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the filter.
*
*/
public List getColumns(Consumer spec) {
GetColumnsOperationSpec r = new GetColumnsOperationSpec(spec);
return api.getColumns(r.id());
}
/**
* Get comment
*
* Returns a comment.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *
* If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - id: The ID of the comment.
* - 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.
*
*/
public Comment getComment(Consumer spec) {
GetCommentOperationSpec r = new GetCommentOperationSpec(spec);
return api.getComment(r.issueIdOrKey(), r.id(), r.expand());
}
/**
* Get comment property
*
* Returns the value of a comment property.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *
* If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - commentId: The ID of the comment.
* - propertyKey: The key of the property.
*
*/
public EntityProperty getCommentProperty(Consumer spec) {
GetCommentPropertyOperationSpec r = new GetCommentPropertyOperationSpec(spec);
return api.getCommentProperty(r.commentId(), r.propertyKey());
}
/**
* Get comment property keys
*
* Returns the keys of all the properties of a comment.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:**
* *
* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *
* If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - commentId: The ID of the comment.
*
*/
public PropertyKeys getCommentPropertyKeys(Consumer spec) {
GetCommentPropertyKeysOperationSpec r = new GetCommentPropertyKeysOperationSpec(spec);
return api.getCommentPropertyKeys(r.commentId());
}
/**
* Get comments
*
* Returns all comments for an issue.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** Comments are included in the response where the user has:
* *
* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *
* If the comment has visibility restrictions, belongs to the group or has the role visibility is role visibility is restricted to.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueIdOrKey: The ID or key of the issue.
* - startAt: The index of the first item to return in a page of results (page offset).
* - maxResults: The maximum number of items to return per page.
* - orderBy: [Order](#ordering) the results by a field. Accepts *created* to sort comments by their created date.
* - 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.
*
*/
public PageOfComments getComments(Consumer spec) {
GetCommentsOperationSpec r = new GetCommentsOperationSpec(spec);
return api.getComments(r.issueIdOrKey(), r.startAt(), r.maxResults(), r.orderBy(), r.expand());
}
/**
* Get comments by IDs
*
* Returns a [paginated](#pagination) list of comments specified by a list of comment IDs.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** Comments are returned where the user:
* *
* has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.
* *
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *
* If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - issueCommentListRequestBean: The list of comment IDs.
* - expand: Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts a comma-separated list. Expand options include: * {@code renderedBody} Returns the comment body rendered in HTML. * {@code properties} Returns the comment's properties.
*
*/
public PageBeanComment getCommentsByIds(Consumer spec) {
GetCommentsByIdsOperationSpec r = new GetCommentsByIdsOperationSpec(spec);
return api.getCommentsByIds(r.issueCommentListRequestBean(), r.expand());
}
/**
* Get component
*
* Returns a component.
* This operation can be accessed anonymously.
* **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the component.
*
*/
public ProjectComponent getComponent(Consumer spec) {
GetComponentOperationSpec r = new GetComponentOperationSpec(spec);
return api.getComponent(r.id());
}
/**
* Get component issues count
*
* Returns the counts of issues assigned to the component.
* This operation can be accessed anonymously.
* **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
* *
* **Classic**: {@code read:jira-work}
* *
* **Granular**: {@code read:field:jira}, {@code read:project.component:jira}
* **[Permissions](#permissions) required:** None.
* Authentication - Required Scopes: [read:jira-work]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
* - id: The ID of the component.
*
*/
public ComponentIssuesCount getComponentRelatedIssues(Consumer spec) {
GetComponentRelatedIssuesOperationSpec r = new GetComponentRelatedIssuesOperationSpec(spec);
return api.getComponentRelatedIssues(r.id());
}
/**
* Get global settings
*
* Returns the [global settings](https://confluence.atlassian.com/x/qYXKM) in Jira. These settings determine whether optional features (for example, subtasks, time tracking, and others) are enabled. If time tracking is enabled, this operation also returns the time tracking configuration.
* **[Permissions](#permissions) required:** Permission to access Jira.
* Authentication - Required Scopes: [read:jira-user]
*/
public Configuration getConfiguration() {
return api.getConfiguration();
}
/**
* Get custom field contexts
*
* Returns a [paginated](#pagination) list of [ contexts](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html) for a custom field. Contexts can be returned as follows:
* *
* With no other parameters set, all contexts.
* *
* By defining {@code id} only, all contexts from the list of IDs.
* *
* By defining {@code isAnyIssueType}, limit the list of contexts returned to either those that apply to all issue types (true) or those that apply to only a subset of issue types (false)
* *
* By defining {@code isGlobalContext}, limit the list of contexts return to either those that apply to all projects (global contexts) (true) or those that apply to only a subset of projects (false).
* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
* Authentication - Required Scopes: [manage:jira-configuration]
* @param spec a consumer that creates the payload for this operation. Supports the following properties:
*
*