from dataclasses import dataclass
from acli.base.spec import Command, Client, RemoteClient
from acli.clients.options import LoggingOptions, CommonOptions
from typing import Iterable

@dataclass
class JiraCommand(Command):
    pass

@dataclass
class JiraClient(RemoteClient):
    def execute(self, command: JiraCommand):
        return super().do_execute(command)

# Variants for addAccount
@dataclass
class AddAccountOptions:
    """Optional parameters for action addAccount"""
    customer: str|None = None
    """Customer key or name."""
    contact: str|None = None
    """Contact name."""
    category: str|None = None
    """Category name or id."""
    status: str|None = None
    """Account status like OPEN, CLOSED, or ARCHIVED."""
    replace: bool|None = None
    """Replace existing entity on add, create, or similar actions."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddAccount(JiraCommand):
    """Add an account."""
    account: str
    """Account name."""
    lead: str
    """Team lead user id."""
    options: AddAccountOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addAccount"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addAccount

# Variants for addAccountLink
@dataclass
class AddAccountLinkOptions:
    """Optional parameters for action addAccountLink"""
    replace: bool|None = None
    """Replace existing entity on add, create, or similar actions."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddAccountLinkGivenAccountAndProject(JiraCommand):
    """Add an account link to a project. Use --options default to make it the default account for the project."""
    account: str
    """Account name."""
    project: str
    """Project key, or id."""
    options: AddAccountLinkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addAccountLink"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class AddAccountLinkGivenNameAndProject(JiraCommand):
    """Add an account link to a project. Use --options default to make it the default account for the project."""
    name: str
    """Name of an item or entity."""
    project: str
    """Project key, or id."""
    options: AddAccountLinkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addAccountLink"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addAccountLink

# Variants for addApplicationLink
@dataclass
class AddApplicationLinkOptions:
    """Optional parameters for action addApplicationLink"""
    name: str|None = None
    """Name of an item or entity."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddApplicationLink(JiraCommand):
    """Add an application link to another application. By default, both incoming and outgoing links are enabled and configured without impersonation (users are not shared). Use the options parameter to customize the behavior. Use '--options impersonate' to enable shared users for server. Other examples are '--options disableIncoming' and '--options disableOutgoing'. If another link of the same type already exists as primary, use '--options primary' to force the new link to be primary instead."""
    url: str
    """Action specific setting. URL or partial URL for renderRequest. Database access URL for SQL related actions. URL for application link related actions."""
    options: AddApplicationLinkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addApplicationLink"

# End Variants for addApplicationLink

# Variants for addAttachment
@dataclass
class AddAttachmentOptions:
    """Optional parameters for action addAttachment"""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    name: str|None = None
    """Name of an item or entity."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class AddAttachment(JiraCommand):
    """Add an attachment to an issue."""
    issue: str
    """Issue key or id."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: AddAttachmentOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addAttachment"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addAttachment

# Variants for addAttachments
@dataclass
class AddAttachmentsOptions:
    """Optional parameters for action addAttachments"""
    recursive: bool|None = None
    """Include sub-directories."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    name: str|None = None
    """Name of an item or entity."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class AddAttachments(JiraCommand):
    """Add multiple attachments to an issue from files in a directory matching a regex pattern."""
    issue: str
    """Issue key or id."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: AddAttachmentsOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addAttachments"

# End Variants for addAttachments

# Variants for addBoardAdministrators

@dataclass
class AddBoardAdministratorsGivenBoardAndUserId(JiraCommand):
    """Add users and groups as board administrators. Both userId and group can be specified as a comma separated list."""
    board: str
    """Board name or id."""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addBoardAdministrators"

@dataclass
class AddBoardAdministratorsGivenBoardAndGroup(JiraCommand):
    """Add users and groups as board administrators. Both userId and group can be specified as a comma separated list."""
    board: str
    """Board name or id."""
    group: str
    """Group name. For some actions addUser, a comma separated list of group names."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addBoardAdministrators"

# End Variants for addBoardAdministrators

# Variants for addBoardColumn
@dataclass
class AddBoardColumnOptions:
    """Optional parameters for action addBoardColumn"""
    status: str|None = None
    """Board column status like to do, in progress, resolved."""
    status_category: str|None = None
    """Board column status category like to do, in progress, done."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddBoardColumn(JiraCommand):
    """Use the board parameter for the board. Use the column parameter for the name of the new column. If '--options createAnother' is specified, a new column will be added even if a column exists with the same name. Use the status parameter for status to be mapped to the new column. The status parameter can be a comma separated list of status name or id. The status can be either unmapped or mapped with existing column. Use @default to auto create a status with same name as the new column. Auto creating status is only supported with project associated with simplified workflow. The statusCategory parameter is only used to specify the category of new status which is auto created by this action. Use @default to auto select the default undefined category."""
    board: str
    """Board name or id."""
    column: str
    """Board column name or id."""
    options: AddBoardColumnOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addBoardColumn"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addBoardColumn

# Variants for addCategory
@dataclass
class AddCategoryOptions:
    """Optional parameters for action addCategory"""
    type: str|None = None
    """Member type."""
    replace: bool|None = None
    """Replace existing entity on add, create, or similar actions."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddCategory(JiraCommand):
    """Add a category."""
    category: str
    """Category name or id."""
    options: AddCategoryOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addCategory"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addCategory

# Variants for addComment
@dataclass
class AddCommentOptions:
    """Optional parameters for action addComment"""
    comment: str|None = None
    """Comment text."""
    group: str|None = None
    """Group name. In the case of addUser, a comma separated list of group names."""
    role: str|None = None
    """User role in project"""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class AddComment(JiraCommand):
    """Add a comment to an issue."""
    issue: str
    """Issue key or id."""
    options: AddCommentOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addComment"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addComment

# Variants for addComponent
@dataclass
class AddComponentOptions:
    """Optional parameters for action addComponent"""
    description: str|None = None
    """Description."""
    lead: str|None = None
    """Project lead user id. Use "@self" to have the lead assigned to the current ACLI user."""
    default_assignee: str|None = None
    """Project or component default assignee for issues. For projects, default is unassigned with options: PROJECT_LEAD or UNASSIGNED (blank). For components, default is PROJECT_DEFAULT with options: PROJECT_LEAD, PROJECT_DEFAULT, COMPONENT_LEAD or UNASSIGNED (blank)."""
    replace: bool|None = None
    """Replace existing entity on add, create, or similar actions."""

@dataclass
class AddComponent(JiraCommand):
    """Add component to a project."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    component: str
    """Project component name or id."""
    options: AddComponentOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addComponent"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addComponent

# Variants for addCustomEvent
@dataclass
class AddCustomEventOptions:
    """Optional parameters for action addCustomEvent"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddCustomEvent(JiraCommand):
    """Add custom event to Jira system."""
    event: str
    """An event is something that can trigger notifications. There are system and custom events in Jira. System events are used throughout Jira internally, and cannot be added or removed. Custom events are used to generate email notifications from a particular workflow transition's post function. An event can be either active or inactive. An inactive event is not associated with any notification schemes or workflow transition post functions. Inactive custom events can be removed."""
    template: str
    """Project template or shared project key, name, or id (createProject action only). Project template names (case sensitive) can be found on the 'Create project' dialog. If a project template is not found, a list of valid templates will be shown in the error message."""
    options: AddCustomEventOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addCustomEvent"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addCustomEvent

# Variants for addCustomField
@dataclass
class AddCustomFieldOptions:
    """Optional parameters for action addCustomField"""
    description: str|None = None
    """Description."""
    search: str|None = None
    """For custom field actions, search represents the search key. Search is no longer recognized for issue lists - use jql instead."""
    reference: str|None = None
    """Reference to a replacement key value used to remember an action specific value like issue key, entity id, or similar so it can be referenced later. Each action that allows this parameter will specify that the reference parameter is valid for the action and the first entry listed for available replacement variables help text will be the value set. If you need access to a different replacement variable in your script, you will need to use the setReplacementVariables action after the action to set a new replacement variable of your choosing to one of the other available replacement variables."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class AddCustomField(JiraCommand):
    """Add a new custom field. Type must be a valid custom field type key. Optionally, search can be a valid search template key. If '--options createAnother' is specified, a new custom field will be added even if a custom field exists with the same name. Use continue to ignore an already exists error. If the reference parameter is provided, a replacement variable of that name will be set to the custom field's numeric id."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    type: str
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    options: AddCustomFieldOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addCustomField"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addCustomField

# Variants for addCustomFieldContext
@dataclass
class AddCustomFieldContextOptions:
    """Optional parameters for action addCustomFieldContext"""
    description: str|None = None
    """Description."""
    issue_type: str|None = None
    """Issue type - name or id."""
    project: str|None = None
    """Project name, key, or id. Creation requests need a valid project key."""
    context: str|None = None
    """Custom field context."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddCustomFieldContext(JiraCommand):
    """Add a new context for a custom field. Optionally, issue types and projects can be associated to the context using the issueType and project parameters accepting a comma separated list of names or ids. Use @all or blank for the issueType parameter to associate the context to all issue types. Use @all or blank for the project parameter to make the context a global context. If '--options createAnother' is specified, a new context will be added even if a context exists with the same name."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    name: str
    """Name of an item or entity."""
    options: AddCustomFieldContextOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addCustomFieldContext"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addCustomFieldContext

# Variants for addCustomFieldContextToProject

@dataclass
class AddCustomFieldContextToProject(JiraCommand):
    """Assign a custom field context to comma separated list of projects. Use @all for project parameter to set the context as a global context. Note only one global context is allowed per field."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    context: str
    """Custom field context."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addCustomFieldContextToProject"

# End Variants for addCustomFieldContextToProject

# Variants for addCustomFieldOptions
@dataclass
class AddCustomFieldOptionsCommandOptions:
    """Optional parameters for action addCustomFieldOptions"""
    context: str|None = None
    """Custom field context."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddCustomFieldOptionsCommand(JiraCommand):
    """Add one or more options to a custom field that has field type option or option-with-child. This includes select, cascade select, and radio button custom types."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options_: Iterable[str]
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    options: AddCustomFieldOptionsCommandOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addCustomFieldOptions"

# End Variants for addCustomFieldOptions

# Variants for addCustomer
@dataclass
class AddCustomerOptions:
    """Optional parameters for action addCustomer"""
    replace: bool|None = None
    """Replace existing entity on add, create, or similar actions."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddCustomerGivenCustomer(JiraCommand):
    """Add a customer."""
    customer: str
    """Customer key or name."""
    options: AddCustomerOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addCustomer"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class AddCustomerGivenName(JiraCommand):
    """Add a customer."""
    name: str
    """Name of an item or entity."""
    options: AddCustomerOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addCustomer"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addCustomer

# Variants for addFieldConfiguration
@dataclass
class AddFieldConfigurationOptions:
    """Optional parameters for action addFieldConfiguration"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddFieldConfiguration(JiraCommand):
    """Add a field configuration. The name of the field configuration must be unique. Use the continue parameter to ignore already exists errors."""
    field_configuration: str
    """Field configuration name or id. Use @default for default field configuration."""
    options: AddFieldConfigurationOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addFieldConfiguration"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addFieldConfiguration

# Variants for addFieldConfigurationScheme
@dataclass
class AddFieldConfigurationSchemeOptions:
    """Optional parameters for action addFieldConfigurationScheme"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddFieldConfigurationScheme(JiraCommand):
    """Create a field configuration Scheme. The name of the field configuration scheme must be unique. Use the continue parameter to ignore already exists errors."""
    field_configuration_scheme: str
    """Field configuration scheme name or id. Use @default for default scheme."""
    options: AddFieldConfigurationSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addFieldConfigurationScheme"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addFieldConfigurationScheme

# Variants for addFieldConfigurationSchemeAssociation
@dataclass
class AddFieldConfigurationSchemeAssociationOptions:
    """Optional parameters for action addFieldConfigurationSchemeAssociation"""
    issue_type: str|None = None
    """Issue type - name or id."""

@dataclass
class AddFieldConfigurationSchemeAssociation(JiraCommand):
    """Associate field configuration to issue type in a field configuration scheme. If a valid issueType parameter is provided, the field configuration is associated to that issue type. Otherwise it is associated to the default issue type. The default issue Type is used for all unmapped issue types. Use @default for fieldConfiguration parameter to refer to the default field configuration."""
    field_configuration_scheme: str
    """Field configuration scheme name or id. Use @default for default scheme."""
    field_configuration: str
    """Field configuration name or id. Use @default for default field configuration."""
    options: AddFieldConfigurationSchemeAssociationOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addFieldConfigurationSchemeAssociation"

# End Variants for addFieldConfigurationSchemeAssociation

# Variants for addFilterPermission
@dataclass
class AddFilterPermissionOptions:
    """Optional parameters for action addFilterPermission"""
    permission: str|None = None
    """Permission name for setting a permission scheme. Use getPermissionList action to provide available permissions."""
    value: str|None = None
    """Field value or condition value for matching."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddFilterPermissionGivenFilterAndType(JiraCommand):
    """Add a share permission to a filter. Identify the share permission by type and value parameters. Supported types are anyone (or global), any (or loggedin), user, group, project and projectRole. Use anyone or global type for all (including anonymous) users. Use any or loggedin type for all authenticated users. Alternatively, specify one of the project, role, group, or userId parameters to add their respective type (project, projectRole, group, or user) without specify type. Note that user type is only supported for editors. Use permission parameter to specify view or edit permission. The default permission value is view. View permission is automatically granted if edit permission type is granted. For anyone (or global) and any (or loggedin) types, they can only have view permission and they cannot coexist with other permission types."""
    filter: str
    """Filter id or filter name (must be a favorite filter on server). Filter is no longer recognized for issue lists - use jql instead. For instance --jql "filter = 'my filter'"."""
    type: str
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    options: AddFilterPermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addFilterPermission"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class AddFilterPermissionGivenFilterAndUserId(JiraCommand):
    """Add a share permission to a filter. Identify the share permission by type and value parameters. Supported types are anyone (or global), any (or loggedin), user, group, project and projectRole. Use anyone or global type for all (including anonymous) users. Use any or loggedin type for all authenticated users. Alternatively, specify one of the project, role, group, or userId parameters to add their respective type (project, projectRole, group, or user) without specify type. Note that user type is only supported for editors. Use permission parameter to specify view or edit permission. The default permission value is view. View permission is automatically granted if edit permission type is granted. For anyone (or global) and any (or loggedin) types, they can only have view permission and they cannot coexist with other permission types."""
    filter: str
    """Filter id or filter name (must be a favorite filter on server). Filter is no longer recognized for issue lists - use jql instead. For instance --jql "filter = 'my filter'"."""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    options: AddFilterPermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addFilterPermission"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class AddFilterPermissionGivenFilterAndGroup(JiraCommand):
    """Add a share permission to a filter. Identify the share permission by type and value parameters. Supported types are anyone (or global), any (or loggedin), user, group, project and projectRole. Use anyone or global type for all (including anonymous) users. Use any or loggedin type for all authenticated users. Alternatively, specify one of the project, role, group, or userId parameters to add their respective type (project, projectRole, group, or user) without specify type. Note that user type is only supported for editors. Use permission parameter to specify view or edit permission. The default permission value is view. View permission is automatically granted if edit permission type is granted. For anyone (or global) and any (or loggedin) types, they can only have view permission and they cannot coexist with other permission types."""
    filter: str
    """Filter id or filter name (must be a favorite filter on server). Filter is no longer recognized for issue lists - use jql instead. For instance --jql "filter = 'my filter'"."""
    group: str
    """Group name. In the case of addUser, a comma separated list of group names."""
    options: AddFilterPermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addFilterPermission"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class AddFilterPermissionGivenFilterAndProject(JiraCommand):
    """Add a share permission to a filter. Identify the share permission by type and value parameters. Supported types are anyone (or global), any (or loggedin), user, group, project and projectRole. Use anyone or global type for all (including anonymous) users. Use any or loggedin type for all authenticated users. Alternatively, specify one of the project, role, group, or userId parameters to add their respective type (project, projectRole, group, or user) without specify type. Note that user type is only supported for editors. Use permission parameter to specify view or edit permission. The default permission value is view. View permission is automatically granted if edit permission type is granted. For anyone (or global) and any (or loggedin) types, they can only have view permission and they cannot coexist with other permission types."""
    filter: str
    """Filter id or filter name (must be a favorite filter on server). Filter is no longer recognized for issue lists - use jql instead. For instance --jql "filter = 'my filter'"."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: AddFilterPermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addFilterPermission"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class AddFilterPermissionGivenFilterAndRole(JiraCommand):
    """Add a share permission to a filter. Identify the share permission by type and value parameters. Supported types are anyone (or global), any (or loggedin), user, group, project and projectRole. Use anyone or global type for all (including anonymous) users. Use any or loggedin type for all authenticated users. Alternatively, specify one of the project, role, group, or userId parameters to add their respective type (project, projectRole, group, or user) without specify type. Note that user type is only supported for editors. Use permission parameter to specify view or edit permission. The default permission value is view. View permission is automatically granted if edit permission type is granted. For anyone (or global) and any (or loggedin) types, they can only have view permission and they cannot coexist with other permission types."""
    filter: str
    """Filter id or filter name (must be a favorite filter on server). Filter is no longer recognized for issue lists - use jql instead. For instance --jql "filter = 'my filter'"."""
    role: str
    """User role in project"""
    options: AddFilterPermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addFilterPermission"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addFilterPermission

# Variants for addGroup
@dataclass
class AddGroupOptions:
    """Optional parameters for action addGroup"""
    preserve_case: bool|None = None
    """Some actions like addUser and addGroup may automatically lowercase names usually because the construct is case insensitive on some hosting platforms. Use this switch to override the default behavior and preserve the case."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddGroup(JiraCommand):
    """Add a new group."""
    group: str
    """Group name. In the case of addUser, a comma separated list of group names."""
    options: AddGroupOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addGroup"

# End Variants for addGroup

# Variants for addIssueTypeScreenScheme
@dataclass
class AddIssueTypeScreenSchemeOptions:
    """Optional parameters for action addIssueTypeScreenScheme"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddIssueTypeScreenScheme(JiraCommand):
    """Create an issue type screen scheme. The name of the issue type screen scheme must be unique. Use the screenScheme parameter to specify the screen scheme for default all unassigned issue types. Use the continue parameter to ignore already exists errors."""
    issue_type_screen_scheme: str
    """Issue type screen scheme name or id. Use @default for default scheme."""
    screen_scheme: str
    """Screen scheme name or id. Use @default for default screen scheme."""
    options: AddIssueTypeScreenSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addIssueTypeScreenScheme"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addIssueTypeScreenScheme

# Variants for addIssuesToSprint
@dataclass
class AddIssuesToSprintOptions:
    """Optional parameters for action addIssuesToSprint"""
    jql: str|None = None
    """JQL query. Standard way to specify a search for issues."""
    issue: str|None = None
    """Issue key. For some actions, may be a comma separated list of issue keys."""

@dataclass
class AddIssuesToSprint(JiraCommand):
    """Add issues to a sprint. Limit 50 issues. Use the sprint parameter for the sprint name or id. Use jql to identify issues to add or issue representing a comma separated list of issues or both."""
    sprint: str
    """Sprint name or id."""
    options: AddIssuesToSprintOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addIssuesToSprint"

# End Variants for addIssuesToSprint

# Variants for addLabels
@dataclass
class AddLabelsOptions:
    """Optional parameters for action addLabels"""
    suppress_notify: bool|None = None
    """Suppress notifying users when an issue is updated. In a few cases, may only be supported on Cloud or later versions of Server."""

@dataclass
class AddLabels(JiraCommand):
    """Add labels to an issue. Requires labels are available for edit on the issue screen."""
    issue: str
    """Issue key or id."""
    labels: str
    """A blank separated list of all global labels with regex filtering on label."""
    options: AddLabelsOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addLabels"

# End Variants for addLabels

# Variants for addLicense
@dataclass
class AddLicenseOptions:
    """Optional parameters for action addLicense"""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class AddLicenseGivenAppAndLicense(JiraCommand):
    """Add a license to an installed app for Server. For Cloud, add a private license token for an app."""
    app: str
    """App key. In some cases, app name can be used as well."""
    license: str
    """App license key."""
    options: AddLicenseOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addLicense"

@dataclass
class AddLicenseGivenAppAndFile(JiraCommand):
    """Add a license to an installed app for Server. For Cloud, add a private license token for an app."""
    app: str
    """App key. In some cases, app name can be used as well."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: AddLicenseOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addLicense"

# End Variants for addLicense

# Variants for addLicenses
@dataclass
class AddLicensesOptions:
    """Optional parameters for action addLicenses"""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class AddLicenses(JiraCommand):
    """Add a license for each app installed on the instance that has an Atlassian app license referenced in the directory specified by the file parameter. License files must be named after the apps key with or without an extension."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: AddLicensesOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addLicenses"

# End Variants for addLicenses

# Variants for addLinkType
@dataclass
class AddLinkTypeOptions:
    """Optional parameters for action addLinkType"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddLinkType(JiraCommand):
    """Add a new issue link type. Use the name parameter for new link type name. Provide the outward and inward descriptions by specifying a comma separated list of values in the description parameter."""
    name: str
    """Name of an item or entity."""
    description: str
    """Description."""
    options: AddLinkTypeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addLinkType"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addLinkType

# Variants for addMembers
@dataclass
class AddMembersOptions:
    """Optional parameters for action addMembers"""
    type: str|None = None
    """Member type."""
    role: str|None = None
    """Role name or id."""
    availability: str|None = None
    """Availability of member to team in percent."""
    from_date: str|None = None
    """Member joining date or worklog filtering date."""
    to_date: str|None = None
    """Member leaving date or worklog filtering date."""

@dataclass
class AddMembers(JiraCommand):
    """Add one or more members to a team. Valid types are USER, GROUP. Defaults to USER."""
    team: str
    """Team name or id."""
    members: str
    """Comma separated list of user ids."""
    options: AddMembersOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addMembers"

# End Variants for addMembers

# Variants for addNotification
@dataclass
class AddNotificationOptions:
    """Optional parameters for action addNotification"""
    recipient: str|None = None
    """Recipient value for adding notifications. Many recipient types need a primary recipient value. This parameter can be used instead of setting a recipient type specific field and value."""

@dataclass
class AddNotification(JiraCommand):
    """Add a notification to a notification scheme."""
    notification_scheme: str
    """Notification scheme name or id."""
    event: str
    """An event is something that can trigger notifications. There are system and custom events in Jira. System events are used throughout Jira internally, and cannot be added or removed. Custom events are used to generate email notifications from a particular workflow transition's post function. An event can be either active or inactive. An inactive event is not associated with any notification schemes or workflow transition post functions. Inactive custom events can be removed."""
    recipient_type: str
    """Recipient type for adding notifications."""
    options: AddNotificationOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addNotification"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addNotification

# Variants for addOrganization
@dataclass
class AddOrganizationOptions:
    """Optional parameters for action addOrganization"""
    project: str|None = None
    """Service desk project name, key, or id. Also known as a service desk."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddOrganization(JiraCommand):
    """Add a new organization to the site or add an existing organization to a project."""
    organization: str
    """Organization name or id representing a grouping of users primarily for access permissions."""
    options: AddOrganizationOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addOrganization"

# End Variants for addOrganization

# Variants for addOrganizationUsers
@dataclass
class AddOrganizationUsersOptions:
    """Optional parameters for action addOrganizationUsers"""
    auto_organization: bool|None = None
    """Organizations are automatically added when referenced in addOrganizationUsers action."""

@dataclass
class AddOrganizationUsers(JiraCommand):
    """Add uses to an organization."""
    organization: str
    """Organization name or id representing a grouping of users primarily for access permissions."""
    participants: str
    """A comma separated list of user ids for request participation or as organization members."""
    options: AddOrganizationUsersOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addOrganizationUsers"

# End Variants for addOrganizationUsers

# Variants for addParticipants

@dataclass
class AddParticipants(JiraCommand):
    """Add one or more participants to a request."""
    request: str
    """Request key or id."""
    participants: str
    """A comma separated list of user ids for request participation or as organization members."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addParticipants"

# End Variants for addParticipants

# Variants for addPermission
@dataclass
class AddPermissionOptions:
    """Optional parameters for action addPermission"""
    value: str|None = None
    """Field value or condition value for matching."""
    project: str|None = None
    """Project name, key, or id. Creation requests need a valid project key."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddPermissionGivenPermissionSchemeAndPermissionAndType(JiraCommand):
    """Add a permission to a permission scheme. Identify the permission holder by type and value parameters. Alternatively, specify one of the role, group, or userId parameters to add their respective holder type (project role, group, or user) without specify type. Use @project for the permissionScheme parameter to use the permission scheme associated with the project identified by the project parameter. Use the continue parameter to ignore already exists errors."""
    permission_scheme: str
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    permission: str
    """Permission name for setting a permission scheme. Use getPermissionList action to provide available permissions."""
    type: str
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    options: AddPermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addPermission"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class AddPermissionGivenPermissionSchemeAndPermissionAndRole(JiraCommand):
    """Add a permission to a permission scheme. Identify the permission holder by type and value parameters. Alternatively, specify one of the role, group, or userId parameters to add their respective holder type (project role, group, or user) without specify type. Use @project for the permissionScheme parameter to use the permission scheme associated with the project identified by the project parameter. Use the continue parameter to ignore already exists errors."""
    permission_scheme: str
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    permission: str
    """Permission name for setting a permission scheme. Use getPermissionList action to provide available permissions."""
    role: str
    """User role in project"""
    options: AddPermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addPermission"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class AddPermissionGivenPermissionSchemeAndPermissionAndGroup(JiraCommand):
    """Add a permission to a permission scheme. Identify the permission holder by type and value parameters. Alternatively, specify one of the role, group, or userId parameters to add their respective holder type (project role, group, or user) without specify type. Use @project for the permissionScheme parameter to use the permission scheme associated with the project identified by the project parameter. Use the continue parameter to ignore already exists errors."""
    permission_scheme: str
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    permission: str
    """Permission name for setting a permission scheme. Use getPermissionList action to provide available permissions."""
    group: str
    """Group name. In the case of addUser, a comma separated list of group names."""
    options: AddPermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addPermission"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class AddPermissionGivenPermissionSchemeAndPermissionAndUserId(JiraCommand):
    """Add a permission to a permission scheme. Identify the permission holder by type and value parameters. Alternatively, specify one of the role, group, or userId parameters to add their respective holder type (project role, group, or user) without specify type. Use @project for the permissionScheme parameter to use the permission scheme associated with the project identified by the project parameter. Use the continue parameter to ignore already exists errors."""
    permission_scheme: str
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    permission: str
    """Permission name for setting a permission scheme. Use getPermissionList action to provide available permissions."""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    options: AddPermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addPermission"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addPermission

# Variants for addProjectCategory
@dataclass
class AddProjectCategoryOptions:
    """Optional parameters for action addProjectCategory"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddProjectCategory(JiraCommand):
    """Add a project category."""
    name: str
    """Name of an item or entity."""
    options: AddProjectCategoryOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addProjectCategory"

# End Variants for addProjectCategory

# Variants for addProjectRole
@dataclass
class AddProjectRoleOptions:
    """Optional parameters for action addProjectRole"""
    description: str|None = None
    """Description."""
    replace: bool|None = None
    """Replace existing entity on add, create, or similar actions."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddProjectRole(JiraCommand):
    """Add a global project role."""
    name: str
    """Name of an item or entity."""
    options: AddProjectRoleOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addProjectRole"

# End Variants for addProjectRole

# Variants for addProjectRoleActors

@dataclass
class AddProjectRoleActorsGivenProjectAndRoleAndUserId(JiraCommand):
    """Add users or groups to a project role."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    role: str
    """User role in project"""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addProjectRoleActors"

@dataclass
class AddProjectRoleActorsGivenProjectAndRoleAndGroup(JiraCommand):
    """Add users or groups to a project role."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    role: str
    """User role in project"""
    group: str
    """Group name. In the case of addUser, a comma separated list of group names."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addProjectRoleActors"

# End Variants for addProjectRoleActors

# Variants for addQuickFilter
@dataclass
class AddQuickFilterOptions:
    """Optional parameters for action addQuickFilter"""
    description: str|None = None
    """Description."""

@dataclass
class AddQuickFilter(JiraCommand):
    """Add a quick filter to a board. Specify a filter name and a JQL query."""
    board: str
    """Board name or id."""
    filter: str
    """Filter name or id."""
    jql: str
    """JQL query. Standard way to specify a search for issues."""
    options: AddQuickFilterOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addQuickFilter"

# End Variants for addQuickFilter

# Variants for addRemoteLink
@dataclass
class AddRemoteLinkOptions:
    """Optional parameters for action addRemoteLink"""
    reverse_link: str|None = None
    """Link description for the (optional) reverse link for addRemoteLink."""
    target_server: str|None = None
    """Target server URL or site configuration reference for copy requests."""

@dataclass
class AddRemoteLinkGivenIssueAndLinkAndToIssue(JiraCommand):
    """Add a remote link to an issue. Name is used instead of title from the UI. Specify a reverseLink value to have a reverse link added where supported."""
    issue: str
    """Issue key or id."""
    link: str
    """Link description. Usually link type name for local links and relationship description for remote links. The link id can also be used for both linkIssue and deleteLink."""
    to_issue: str
    """Target or link destination issue key or id."""
    options: AddRemoteLinkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addRemoteLink"

@dataclass
class AddRemoteLinkGivenIssueAndLinkAndUrl(JiraCommand):
    """Add a remote link to an issue. Name is used instead of title from the UI. Specify a reverseLink value to have a reverse link added where supported."""
    issue: str
    """Issue key or id."""
    link: str
    """Link description. Usually link type name for local links and relationship description for remote links. The link id can also be used for both linkIssue and deleteLink."""
    url: str
    """Action specific setting. URL or partial URL for renderRequest. Database access URL for SQL related actions. URL for application link related actions."""
    options: AddRemoteLinkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addRemoteLink"

# End Variants for addRemoteLink

# Variants for addRequestType
@dataclass
class AddRequestTypeOptions:
    """Optional parameters for action addRequestType"""
    description: str|None = None
    """Description of a request."""
    help_text: str|None = None
    """Help text."""

@dataclass
class AddRequestType(JiraCommand):
    """Add request type. The Jira issue type id must be valid for the project."""
    project: str
    """Service desk project name, key, or id. Also known as a service desk."""
    name: str
    """Name of an item or entity."""
    issue_type: str
    """Jira issue type id."""
    options: AddRequestTypeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addRequestType"

# End Variants for addRequestType

# Variants for addScreen
@dataclass
class AddScreenOptions:
    """Optional parameters for action addScreen"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddScreen(JiraCommand):
    """Add a new screen. Use parameter screen or name to set screen name and parameter description to set description."""
    screen: str
    """Transition screen name."""
    options: AddScreenOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addScreen"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addScreen

# Variants for addScreenFields
@dataclass
class AddScreenFieldsOptions:
    """Optional parameters for action addScreenFields"""
    auto_tab: bool|None = None
    """Automatically add tab used in add screen fields functions."""
    tab: str|None = None
    """Screen tab."""
    name: str|None = None
    """Name of an item or entity."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddScreenFields(JiraCommand):
    """Add list of available fields to screen. If tab is not provided, add fields to default tab. If autoTab and new tab name is provided, create the tab. If field is already in another tab, it will be moved to the provided tab. You can provide required parameter screen by id or name, but id is strongly recommended. Use parameter field to provide list of fields you want to add. Use parameter tab to specify which tab the fields will be added to. Use parameter autoTab if you want to create a new tab to add fields, if using autoTab, new tab name must be provided."""
    screen: str
    """Transition screen name."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options: AddScreenFieldsOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addScreenFields"

# End Variants for addScreenFields

# Variants for addScreenScheme
@dataclass
class AddScreenSchemeOptions:
    """Optional parameters for action addScreenScheme"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddScreenScheme(JiraCommand):
    """Create a screen scheme. The name of the screen scheme must be unique. Use the screen parameter to specify the screen for default issue operation. Use the continue parameter to ignore already exists errors."""
    screen_scheme: str
    """Screen scheme name or id. Use @default for default screen scheme."""
    screen: str
    """Transition screen name."""
    options: AddScreenSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addScreenScheme"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addScreenScheme

# Variants for addScreenTab
@dataclass
class AddScreenTabOptions:
    """Optional parameters for action addScreenTab"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddScreenTab(JiraCommand):
    """Adds a new screen tab. You can provide required parameter screen by id or name, but id is strongly recommended. Name of new tab is also required by parameter tab or name."""
    screen: str
    """Transition screen name."""
    tab: str
    """Screen tab."""
    options: AddScreenTabOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addScreenTab"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addScreenTab

# Variants for addShortcut

@dataclass
class AddShortcut(JiraCommand):
    """Add a shortcut. Shortcuts show up on the UI."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    name: str
    """Name of an item or entity."""
    url: str
    """Action specific setting. URL or partial URL for renderRequest. Database access URL for SQL related actions. URL for application link related actions."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addShortcut"

# End Variants for addShortcut

# Variants for addTeam
@dataclass
class AddTeamOptions:
    """Optional parameters for action addTeam"""
    description: str|None = None
    """Description."""
    lead: str|None = None
    """Team lead user id."""
    mission: str|None = None
    """Team's mission statement."""
    program: str|None = None
    """Team's program."""

@dataclass
class AddTeam(JiraCommand):
    """Add a team."""
    team: str
    """Team name or id."""
    options: AddTeamOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addTeam"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addTeam

# Variants for addTransition
@dataclass
class AddTransitionOptions:
    """Optional parameters for action addTransition"""
    description: str|None = None
    """Description."""
    transition: str|None = None
    """Workflow transition - name or id."""
    screen: str|None = None
    """Transition screen name."""

@dataclass
class AddTransition(JiraCommand):
    """Add a transition to a workflow. Use name for the transition name. Step represents the source step and transition the target step which defaults to step. Transition screen defaults to none."""
    workflow: str
    """Workflow name."""
    step: str
    """Workflow step name or id for workflow and transition related actions."""
    name: str
    """Name of an item or entity."""
    options: AddTransitionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addTransition"

# End Variants for addTransition

# Variants for addTransitionFunction
@dataclass
class AddTransitionFunctionOptions:
    """Optional parameters for action addTransitionFunction"""
    type: str|None = None
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    data: str|None = None
    """JSON data for runFromJson. Post data for renderRequest. Action specific definition in some cases."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""

@dataclass
class AddTransitionFunction(JiraCommand):
    """Add a transition function (postfunction, validator, or condition type) to a workflow transition. Function configuration values can be provide using multiple field parameters (name=values) or a JSON representation using the data parameter. Make sure to provide all the fields required by the specific function being added. Field names and values usually have to be discovered by looking at request parameters used when adding the function in the UI or by someone who has provided an example for the specific function you are using. Use '--transition @create --step @create' to add functions to the create issue transition."""
    workflow: str
    """Workflow name."""
    step: str
    """Workflow step name or id for workflow and transition related actions."""
    transition: str
    """Workflow transition - name or id."""
    function_key: str
    """Transition function's unique key. Example: org.swift.jira.cot:createissue-function"""
    options: AddTransitionFunctionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addTransitionFunction"

# End Variants for addTransitionFunction

# Variants for addUser
@dataclass
class AddUserOptions:
    """Optional parameters for action addUser"""
    user_full_name: str|None = None
    """User name for user management actions."""
    user_password: str|None = None
    """User password for user management actions."""
    notify: bool|None = None
    """Notify user after user is added."""
    group: str|None = None
    """Group name. In the case of addUser, a comma separated list of group names."""
    auto_group: bool|None = None
    """Groups are automatically added when referenced in add user functions."""
    preserve_case: bool|None = None
    """Some actions like addUser and addGroup may automatically lowercase names usually because the construct is case insensitive on some hosting platforms. Use this switch to override the default behavior and preserve the case."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddUser(JiraCommand):
    """Add a new user. Specify notify to send an email. User can be added to a group (or groups) using the group parameter."""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    user_email: str
    """User email for user management actions. May not be visible for depending on system and user choice."""
    options: AddUserOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addUser"

# End Variants for addUser

# Variants for addUserToGroup
@dataclass
class AddUserToGroupOptions:
    """Optional parameters for action addUserToGroup"""
    auto_group: bool|None = None
    """Groups are automatically added when referenced in add user functions."""
    preserve_case: bool|None = None
    """Some actions like addUser and addGroup may automatically lowercase names usually because the construct is case insensitive on some hosting platforms. Use this switch to override the default behavior and preserve the case."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddUserToGroup(JiraCommand):
    """Add user to a group."""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    group: str
    """Group name. In the case of addUser, a comma separated list of group names."""
    options: AddUserToGroupOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addUserToGroup"

# End Variants for addUserToGroup

# Variants for addVersion
@dataclass
class AddVersionOptions:
    """Optional parameters for action addVersion"""
    description: str|None = None
    """Description."""
    after: str|None = None
    """Version name or id to add a version after. Defaults to after last version. Use -1 to make it the first version."""
    date: str|None = None
    """Release date for version or due date for issue."""
    start_date: str|None = None
    """Date version was started. For audit logs, filter entries based on this start date."""
    replace: bool|None = None
    """Replace existing entity on add, create, or similar actions."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddVersion(JiraCommand):
    """Add a new version to a project. By default, the version is added as the last version. Use the after parameter to specify @FIRST to make it the first version or position it after another version."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    version: str
    """Project version name or id or app version."""
    options: AddVersionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addVersion"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addVersion

# Variants for addVote

@dataclass
class AddVote(JiraCommand):
    """Add vote for issue."""
    issue: str
    """Issue key or id."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addVote"

# End Variants for addVote

# Variants for addWatchers
@dataclass
class AddWatchersOptions:
    """Optional parameters for action addWatchers"""
    user_id: str|None = None
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    lookup: bool|None = None
    """Lookup userId via search and validate. An error is reported if search does not return a single user."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class AddWatchers(JiraCommand):
    """Add watchers to an issue. A comma separated list of user ids can be specified."""
    issue: str
    """Issue key or id."""
    options: AddWatchersOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addWatchers"

# End Variants for addWatchers

# Variants for addWebhook
@dataclass
class AddWebhookOptions:
    """Optional parameters for action addWebhook"""
    events: Iterable[str]|str|None = None
    """Comma separated list of webhook events. Valid events may vary by Jira version, hosting type, or other factors. Consult Atlassian documentation for the latest details. Known events are worklog_created, worklog_updated, worklog_deleted, jira:issue_created, jira:issue_updated, jira:issue_deleted, issuelink_created, issuelink_deleted, comment_created, comment_updated, comment_deleted, attachment_created, attachment_deleted, issue_property_set, issue_property_deleted, project_created, project_updated, project_deleted, jira:version_released, jira:version_unreleased, jira:version_created, jira:version_moved, jira:version_updated, jira:version_merged, jira:version_deleted, user_created, user_deleted, user_updated, option_voting_changed, option_watching_changed, option_unassigned_issues_changed, option_subtasks_changed, option_attachments_changed, option_issuelinks_changed, option_timetracking_changed, option_timetracking_provider_changed, board_created, board_deleted, board_updated, board_configuration_changed, sprint_created, sprint_deleted, sprint_updated, sprint_started, sprint_closed."""
    jql: str|None = None
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class AddWebhook(JiraCommand):
    """Add a user defined webhook. By default, the webhook will be enabled. Use '--options disable' to disable the webhook. By default, the webhook will send a payload body as part of the post to the url depending on the type of event. Use '--options excludeBody' to prevent the sending of the payload body. In this case, the only information available to the receiving service will be the query parameters on the url."""
    name: str
    """Name of an item or entity."""
    url: str
    """Action specific setting. URL or partial URL for renderRequest. Database access URL for SQL related actions. URL for application link related actions."""
    options: AddWebhookOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addWebhook"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addWebhook

# Variants for addWork
@dataclass
class AddWorkOptions:
    """Optional parameters for action addWork"""
    comment: str|None = None
    """Comment text."""
    date: str|None = None
    """Release date for version or due date for issue."""
    estimate: str|None = None
    """Estimate of time remaining for an issue. Example: 3h 30m."""
    role: str|None = None
    """User role in project"""
    group: str|None = None
    """Group name. In the case of addUser, a comma separated list of group names."""
    auto_adjust: bool|None = None
    """Auto adjust remaining estimate when adding work entry."""
    suppress_notify: bool|None = None
    """Suppress notifying users when an issue is updated. In a few cases, may only be supported on Cloud or later versions of Server."""

@dataclass
class AddWork(JiraCommand):
    """Add work log entry for the current user. Use the Tempo client if you need to add worklogs for another user. Only Cloud supports suppressNotify."""
    issue: str
    """Issue key or id."""
    time_spent: str
    """Time spent on work. Example: 3h 30m."""
    options: AddWorkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addWork"

# End Variants for addWork

# Variants for addWorkflowStep
@dataclass
class AddWorkflowStepOptions:
    """Optional parameters for action addWorkflowStep"""
    description: str|None = None
    """Description."""

@dataclass
class AddWorkflowStep(JiraCommand):
    """Add a workflow step to a workflow."""
    workflow: str
    """Workflow name."""
    step: str
    """Workflow step name or id for workflow and transition related actions."""
    status: str
    """Linked status for a workflow step."""
    options: AddWorkflowStepOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addWorkflowStep"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addWorkflowStep

# Variants for addWorklog
@dataclass
class AddWorklogOptions:
    """Optional parameters for action addWorklog"""
    billing_time_spent: str|None = None
    """Time spent on work. Example: 3h 30m."""
    user_id: str|None = None
    """User id"""
    date: str|None = None
    """Worklog date."""
    estimate: str|None = None
    """Estimate of time remaining for an issue. Example: 3h 30m."""

@dataclass
class AddWorklog(JiraCommand):
    """Add a work log entry. If user has permission to log work for others, the userId parameter can be used."""
    issue: str
    """Issue key."""
    time_spent: str
    """Time spent on work. Example: 3h 30m."""
    comment: str
    """Comment text."""
    options: AddWorklogOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "addWorklog"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for addWorklog

# Variants for archiveComponent

@dataclass
class ArchiveComponent(JiraCommand):
    """Archive a component for a project."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    component: str
    """Project component name or id."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "archiveComponent"

# End Variants for archiveComponent

# Variants for archiveIssues
@dataclass
class ArchiveIssuesOptions:
    """Optional parameters for action archiveIssues"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    suppress_notify: bool|None = None
    """Suppress notifying users when an issue is updated. In a few cases, may only be supported on Cloud or later versions of Server."""

@dataclass
class ArchiveIssuesGivenJql(JiraCommand):
    """Archive an issue or issues returned from a JQL search. Use continue to ignore errors when an issue is already archived. Note that subtasks are archived when their parent is archived."""
    jql: str
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    options: ArchiveIssuesOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "archiveIssues"

@dataclass
class ArchiveIssuesGivenIssue(JiraCommand):
    """Archive an issue or issues returned from a JQL search. Use continue to ignore errors when an issue is already archived. Note that subtasks are archived when their parent is archived."""
    issue: str
    """Issue key or id."""
    options: ArchiveIssuesOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "archiveIssues"

# End Variants for archiveIssues

# Variants for archiveProject
@dataclass
class ArchiveProjectOptions:
    """Optional parameters for action archiveProject"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class ArchiveProject(JiraCommand):
    """Archive a project. Use continue to ignore errors when the project is already archived."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: ArchiveProjectOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "archiveProject"

# End Variants for archiveProject

# Variants for archiveVersion
@dataclass
class ArchiveVersionOptions:
    """Optional parameters for action archiveVersion"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class ArchiveVersion(JiraCommand):
    """Archive a version for a project. This hides the version from the UI. Use continue to ignore error when the version is already in the correct state."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    version: str
    """Project version name or id or app version."""
    options: ArchiveVersionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "archiveVersion"

# End Variants for archiveVersion

# Variants for assignIssue
@dataclass
class AssignIssueOptions:
    """Optional parameters for action assignIssue"""
    user_id: str|None = None
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""

@dataclass
class AssignIssue(JiraCommand):
    """Assign an isssue to a userId. Use @default for userId to set the assignee to the project default. If userId is blank or not provided, the assignee is set to null."""
    issue: str
    """Issue key or id."""
    options: AssignIssueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "assignIssue"

# End Variants for assignIssue

# Variants for associateWorkflow
@dataclass
class AssociateWorkflowOptions:
    """Optional parameters for action associateWorkflow"""
    issue_type: str|None = None
    """Issue type - name or id."""

@dataclass
class AssociateWorkflow(JiraCommand):
    """Associate workflow to a workflow scheme. If a valid issueType parameter is provided, the workflow is associated to that issue type. Otherwise it is set as the default workflow for the scheme."""
    workflow_scheme: str
    """Workflow scheme name or id. Use @default for default scheme."""
    workflow: str
    """Workflow name."""
    options: AssociateWorkflowOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "associateWorkflow"

# End Variants for associateWorkflow

# Variants for cloneIssue
@dataclass
class CloneIssueOptions:
    """Optional parameters for action cloneIssue"""
    parent: str|None = None
    """Parent issue key or id."""
    link: str|None = None
    """Link description. Usually link type name for local links and relationship description for remote links. The link id can also be used for both linkIssue and deleteLink."""
    issue_type: str|None = None
    """Issue type - name or id."""
    type: str|None = None
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    summary: str|None = None
    """Summary of issue."""
    resolution: str|None = None
    """Resolution name or id."""
    labels: str|None = None
    """A blank separated list of all global labels with regex filtering on label."""
    comment: str|None = None
    """Comment text."""
    group: str|None = None
    """Group name. In the case of addUser, a comma separated list of group names."""
    role: str|None = None
    """User role in project"""
    priority: str|None = None
    """Issue priority - name or id."""
    reporter: str|None = None
    """Issue reporter user id."""
    assignee: str|None = None
    """Issue assignee user id. In some contexts, use -1 for automatic assignment and "" for unassigned."""
    description: str|None = None
    """Description."""
    components: str|None = None
    """Project components - comma separated names or ids."""
    affects_versions: str|None = None
    """Affects versions - comma separated names or ids."""
    fix_versions: str|None = None
    """Fix versions - comma separated names or ids."""
    environment: str|None = None
    """Issue environment."""
    security: str|None = None
    """Issue security level name or id."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    value: str|None = None
    """Field value or condition value for matching."""
    lookup: bool|None = None
    """Lookup userId via search and validate. An error is reported if search does not return a single user."""
    date: str|None = None
    """Release date for version or due date for issue."""
    auto_version: bool|None = None
    """Automatically add versions used in affectsVersions and fixVersions parameters."""
    auto_component: bool|None = None
    """Automatically add components used in components parameter."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    to_project: str|None = None
    """Project name, key, or id to copy to. For cloning issues, either toProject or project can be used."""
    reference: str|None = None
    """Reference to a replacement key value used to remember an action specific value like issue key, entity id, or similar so it can be referenced later. Each action that allows this parameter will specify that the reference parameter is valid for the action and the first entry listed for available replacement variables help text will be the value set. If you need access to a different replacement variable in your script, you will need to use the setReplacementVariables action after the action to set a new replacement variable of your choosing to one of the other available replacement variables."""
    copy_links: bool|None = None
    """Copy issue links when copying an issue."""
    copy_remote_links: bool|None = None
    """Copy remote links when copying an issue."""
    copy_attachments: bool|None = None
    """Copy attachments when copying an issue."""
    copy_comments: bool|None = None
    """Copy comments when copying an issue."""
    copy_watchers: bool|None = None
    """Copy Watchers when copying an issue."""
    copy_subtasks: bool|None = None
    """Copy subtasks when copying an issue."""
    copy_estimates: bool|None = None
    """Copy issue estimates when copying an issue."""
    copy_subtask_estimates: bool|None = None
    """Copy subtask estimates when copying an issue."""
    copy_work: bool|None = None
    """Copy Work when copying an issue."""
    copy_properties: bool|None = None
    """Copy entity properties when copying issues and projects."""
    use_parent_versions: bool|None = None
    """Use parent's affects and fix versions for subtask when cloning an issue or subtask."""
    use_parent_reporter: bool|None = None
    """Use parent's reporter to set the reporter for subtasks when cloning an issue or subtask."""
    field_excludes: str|None = None
    """Fields to exclude from cloning - comma separated list of fields."""
    property_prefix: str|None = None
    """Prefix used for accessing properties for custom clone actions. Requires Clone Plus for Jira be installed on the server."""

@dataclass
class CloneIssue(JiraCommand):
    """Create a new issue by copying an existing issue. By default, if the issue is a subtask, it will be cloned to the same parent. Specifying the parent parameter will allow a subtask to be cloned to a different parent. By default, cloned issue is not linked to the original issue. For example, adding '--link Cloners' will add the normal clone link. Other field setting parameters can be specified to override the setting copied from the base issue just like on the createIssue action. Use '--options continueWithDefault' to default assignee and reporter when the current value is invalid for the new cloned issue."""
    issue: str
    """Issue key or id."""
    options: CloneIssueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "cloneIssue"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for cloneIssue

# Variants for cloneIssues
@dataclass
class CloneIssuesOptions:
    """Optional parameters for action cloneIssues"""
    to_project: str|None = None
    """Project name, key, or id to copy to. For cloning issues, either toProject or project can be used."""
    issue_type: str|None = None
    """Issue type - name or id."""
    type: str|None = None
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    link: str|None = None
    """Link description. Usually link type name for local links and relationship description for remote links. The link id can also be used for both linkIssue and deleteLink."""
    copy_links: bool|None = None
    """Copy issue links when copying an issue."""
    copy_remote_links: bool|None = None
    """Copy remote links when copying an issue."""
    copy_attachments: bool|None = None
    """Copy attachments when copying an issue."""
    copy_comments: bool|None = None
    """Copy comments when copying an issue."""
    copy_watchers: bool|None = None
    """Copy Watchers when copying an issue."""
    copy_subtasks: bool|None = None
    """Copy subtasks when copying an issue."""
    copy_estimates: bool|None = None
    """Copy issue estimates when copying an issue."""
    copy_subtask_estimates: bool|None = None
    """Copy subtask estimates when copying an issue."""
    copy_properties: bool|None = None
    """Copy entity properties when copying issues and projects."""
    use_parent_versions: bool|None = None
    """Use parent's affects and fix versions for subtask when cloning an issue or subtask."""
    use_parent_reporter: bool|None = None
    """Use parent's reporter to set the reporter for subtasks when cloning an issue or subtask."""
    auto_version: bool|None = None
    """Automatically add versions used in affectsVersions and fixVersions parameters."""
    auto_component: bool|None = None
    """Automatically add components used in components parameter."""
    field_excludes: str|None = None
    """Fields to exclude from cloning - comma separated list of fields."""
    property_prefix: str|None = None
    """Prefix used for accessing properties for custom clone actions. Requires Clone Plus for Jira be installed on the server."""

@dataclass
class CloneIssues(JiraCommand):
    """Clone issues returned from a JQL search. 'CLI Issue Cloning' documentation page has more details. Use the continue parameter to continue cloning even if there is an error with cloning one of the issues. Use '--options continueWithDefault' to default assignee and reporter when the current value is invalid for the new cloned issue."""
    jql: str
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    options: CloneIssuesOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "cloneIssues"

# End Variants for cloneIssues

# Variants for cloneProject
@dataclass
class CloneProjectOptions:
    """Optional parameters for action cloneProject"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""
    url: str|None = None
    """Action specific setting. URL or partial URL for renderRequest. Database access URL for SQL related actions. URL for application link related actions."""
    permission_scheme: str|None = None
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    notification_scheme: str|None = None
    """Notification scheme name or id."""
    issue_security_scheme: str|None = None
    """Issue security scheme name or id."""
    workflow_scheme: str|None = None
    """Workflow scheme name or id. Use @default for default scheme."""
    priority_scheme: str|None = None
    """Priority scheme name or id. Use @default for the default scheme."""
    issue_type_scheme: str|None = None
    """Issue type scheme name or id. Use @default for default scheme."""
    issue_type_screen_scheme: str|None = None
    """Issue type screen scheme name or id. Use @default for default scheme."""
    field_configuration_scheme: str|None = None
    """Field configuration scheme name or id. Use @default for default scheme."""
    category: str|None = None
    """Project category. Administrator access required to see or use project categories."""
    template: str|None = None
    """Project template or shared project key, name, or id (createProject action only). Project template names (case sensitive) can be found on the 'Create project' dialog. If a project template is not found, a list of valid templates will be shown in the error message."""
    type: str|None = None
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    copy_versions: bool|None = None
    """Copy versions when copying a project."""
    auto_version: bool|None = None
    """Automatically add versions used in affectsVersions and fixVersions parameters."""
    copy_components: bool|None = None
    """Copy components when copying a project."""
    auto_component: bool|None = None
    """Automatically add components used in components parameter."""
    copy_role_actors: bool|None = None
    """Copy project role actors when copying a project."""
    clone_issues: bool|None = None
    """Clone issues when cloning a project."""
    copy_links: bool|None = None
    """Copy issue links when copying an issue."""
    copy_remote_links: bool|None = None
    """Copy remote links when copying an issue."""
    copy_attachments: bool|None = None
    """Copy attachments when copying an issue."""
    copy_comments: bool|None = None
    """Copy comments when copying an issue."""
    copy_watchers: bool|None = None
    """Copy Watchers when copying an issue."""
    copy_subtasks: bool|None = None
    """Copy subtasks when copying an issue."""
    copy_estimates: bool|None = None
    """Copy issue estimates when copying an issue."""
    copy_subtask_estimates: bool|None = None
    """Copy subtask estimates when copying an issue."""
    copy_properties: bool|None = None
    """Copy entity properties when copying issues and projects."""
    use_parent_versions: bool|None = None
    """Use parent's affects and fix versions for subtask when cloning an issue or subtask."""
    use_parent_reporter: bool|None = None
    """Use parent's reporter to set the reporter for subtasks when cloning an issue or subtask."""
    field_excludes: str|None = None
    """Fields to exclude from cloning - comma separated list of fields."""
    property_prefix: str|None = None
    """Prefix used for accessing properties for custom clone actions. Requires Clone Plus for Jira be installed on the server."""

@dataclass
class CloneProject(JiraCommand):
    """Create a new project as a clone of a base project (only issue security, notification, and permission scheme references will be copied. to clone, some other fields are also not available to be copied to the clone). Parameters specified will override the setting copied from the base project. Optionally copy versions, components, role actors, and issues to new project. Provide a jql parameter to subset the issues to be cloned. Use '--options continueWithDefault' to default assignee and reporter when the current value is invalid for a new cloned issue."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    to_project: str
    """Project name, key, or id to copy to. For cloning issues, either toProject or project can be used."""
    options: CloneProjectOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "cloneProject"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for cloneProject

# Variants for completeSprint

@dataclass
class CompleteSprint(JiraCommand):
    """To complete a sprint. Use the sprint parameter for the sprint name or id."""
    sprint: str
    """Sprint name or id."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "completeSprint"

# End Variants for completeSprint

# Variants for copyAttachments
@dataclass
class CopyAttachmentsOptions:
    """Optional parameters for action copyAttachments"""
    name: str|None = None
    """Name of an item or entity."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    target_server: str|None = None
    """Target server URL or site configuration reference for copy requests."""

@dataclass
class CopyAttachments(JiraCommand):
    """Copy attachments from an issue to another issue."""
    issue: str
    """Issue key or id."""
    to_issue: str
    """Target or link destination issue key or id."""
    options: CopyAttachmentsOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "copyAttachments"

# End Variants for copyAttachments

# Variants for copyBoard
@dataclass
class CopyBoardOptions:
    """Optional parameters for action copyBoard"""
    name: str|None = None
    """Name of an item or entity."""
    reference: str|None = None
    """Reference to a replacement key value used to remember an action specific value like issue key, entity id, or similar so it can be referenced later. Each action that allows this parameter will specify that the reference parameter is valid for the action and the first entry listed for available replacement variables help text will be the value set. If you need access to a different replacement variable in your script, you will need to use the setReplacementVariables action after the action to set a new replacement variable of your choosing to one of the other available replacement variables."""

@dataclass
class CopyBoard(JiraCommand):
    """Copy a board identified by the board name or id using the board parameter. Optionally, use the name parameter to specify the name of the new board."""
    board: str
    """Board name or id."""
    options: CopyBoardOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "copyBoard"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for copyBoard

# Variants for copyComponent
@dataclass
class CopyComponentOptions:
    """Optional parameters for action copyComponent"""
    to_project: str|None = None
    """Project name, key, or id to copy to. For cloning issues, either toProject or project can be used."""
    to_component: str|None = None
    """Project component name or id."""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""
    lead: str|None = None
    """Project lead user id. Use "@self" to have the lead assigned to the current ACLI user."""
    default_assignee: str|None = None
    """Project or component default assignee for issues. For projects, default is unassigned with options: PROJECT_LEAD or UNASSIGNED (blank). For components, default is PROJECT_DEFAULT with options: PROJECT_LEAD, PROJECT_DEFAULT, COMPONENT_LEAD or UNASSIGNED (blank)."""
    replace: bool|None = None
    """Replace existing entity on add, create, or similar actions."""

@dataclass
class CopyComponent(JiraCommand):
    """Copy a component from one project to the same project or another project."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    component: str
    """Project component name or id."""
    options: CopyComponentOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "copyComponent"

# End Variants for copyComponent

# Variants for copyComponents
@dataclass
class CopyComponentsOptions:
    """Optional parameters for action copyComponents"""
    components: str|None = None
    """Project components - comma separated names or ids."""
    replace: bool|None = None
    """Replace existing entity on add, create, or similar actions."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class CopyComponents(JiraCommand):
    """Copy all or some components from one project to another. Archived components will be copied and archived in target project. To exclude archived components from being copied, use '--options excludeArchived'."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    to_project: str
    """Project name, key, or id to copy to. For cloning issues, either toProject or project can be used."""
    options: CopyComponentsOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "copyComponents"

# End Variants for copyComponents

# Variants for copyFieldValue
@dataclass
class CopyFieldValueOptions:
    """Optional parameters for action copyFieldValue"""
    suppress_notify: bool|None = None
    """Suppress notifying users when an issue is updated. In a few cases, may only be supported on Cloud or later versions of Server."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    append_text: bool|None = None
    """Append text to existing value text for description, environment, and single and multi-value custom fields."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class CopyFieldValueGivenIssueAndFieldAndToIssue(JiraCommand):
    """Copy field value from an issue to a field of another issue. Warning: only works for fields that can be updated from their text representation."""
    issue: str
    """Issue key or id."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    to_issue: str
    """Target or link destination issue key or id."""
    options: CopyFieldValueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "copyFieldValue"

@dataclass
class CopyFieldValueGivenIssueAndFieldAndField2(JiraCommand):
    """Copy field value from an issue to a field of another issue. Warning: only works for fields that can be updated from their text representation."""
    issue: str
    """Issue key or id."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    field2: str
    """Deprecated. Field name or id for a custom field."""
    options: CopyFieldValueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "copyFieldValue"

# End Variants for copyFieldValue

# Variants for copyIssue
@dataclass
class CopyIssueOptions:
    """Optional parameters for action copyIssue"""
    copy_links: bool|None = None
    """Copy issue links when copying an issue."""
    copy_remote_links: bool|None = None
    """Copy remote links when copying an issue."""
    copy_attachments: bool|None = None
    """Copy attachments when copying an issue."""
    copy_comments: bool|None = None
    """Copy comments when copying an issue."""
    copy_watchers: bool|None = None
    """Copy Watchers when copying an issue."""
    copy_subtasks: bool|None = None
    """Copy subtasks when copying an issue."""
    copy_estimates: bool|None = None
    """Copy issue estimates when copying an issue."""
    copy_subtask_estimates: bool|None = None
    """Copy subtask estimates when copying an issue."""
    copy_work: bool|None = None
    """Copy Work when copying an issue."""
    copy_properties: bool|None = None
    """Copy entity properties when copying issues and projects."""

@dataclass
class CopyIssue(JiraCommand):
    """Copy specifically requested items from one issue to another. Items are identified on one or more of the copy based parameters."""
    issue: str
    """Issue key or id."""
    to_issue: str
    """Target or link destination issue key or id."""
    options: CopyIssueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "copyIssue"

# End Variants for copyIssue

# Variants for copyProjectRoleActors
@dataclass
class CopyProjectRoleActorsOptions:
    """Optional parameters for action copyProjectRoleActors"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class CopyProjectRoleActors(JiraCommand):
    """Copy all role actors from a project to another project."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    to_project: str
    """Project name, key, or id to copy to. For cloning issues, either toProject or project can be used."""
    options: CopyProjectRoleActorsOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "copyProjectRoleActors"

# End Variants for copyProjectRoleActors

# Variants for copyScreen
@dataclass
class CopyScreenOptions:
    """Optional parameters for action copyScreen"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""

@dataclass
class CopyScreen(JiraCommand):
    """Copy a screen and its fields. Use parameter name to set new screen name, if parameter name is not provided, a default system name will be used."""
    screen: str
    """Transition screen name."""
    options: CopyScreenOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "copyScreen"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for copyScreen

# Variants for copyVersion
@dataclass
class CopyVersionOptions:
    """Optional parameters for action copyVersion"""
    to_project: str|None = None
    """Project name, key, or id to copy to. For cloning issues, either toProject or project can be used."""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""
    after: str|None = None
    """Version name or id to add a version after. Defaults to after last version. Use -1 to make it the first version."""
    date: str|None = None
    """Release date for version or due date for issue."""
    start_date: str|None = None
    """Date version was started. For audit logs, filter entries based on this start date."""
    replace: bool|None = None
    """Replace existing entity on add, create, or similar actions."""

@dataclass
class CopyVersion(JiraCommand):
    """Copy a version from one project to the same project or another project. The after parameter can be used to position the version similar to the addVersion action."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    version: str
    """Project version name or id or app version."""
    options: CopyVersionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "copyVersion"

# End Variants for copyVersion

# Variants for copyVersions
@dataclass
class CopyVersionsOptions:
    """Optional parameters for action copyVersions"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    replace: bool|None = None
    """Replace existing entity on add, create, or similar actions."""

@dataclass
class CopyVersions(JiraCommand):
    """Copy all versions from one project to another project."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    to_project: str
    """Project name, key, or id to copy to. For cloning issues, either toProject or project can be used."""
    options: CopyVersionsOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "copyVersions"

# End Variants for copyVersions

# Variants for copyWorkflow
@dataclass
class CopyWorkflowOptions:
    """Optional parameters for action copyWorkflow"""
    description: str|None = None
    """Description."""

@dataclass
class CopyWorkflow(JiraCommand):
    """Copy a workflow to a new workflow with the name provided by the name parameter."""
    workflow: str
    """Workflow name."""
    name: str
    """Name of an item or entity."""
    options: CopyWorkflowOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "copyWorkflow"

# End Variants for copyWorkflow

# Variants for createBoard
@dataclass
class CreateBoardOptions:
    """Optional parameters for action createBoard"""
    reference: str|None = None
    """Reference to a replacement key value used to remember an action specific value like issue key, entity id, or similar so it can be referenced later. Each action that allows this parameter will specify that the reference parameter is valid for the action and the first entry listed for available replacement variables help text will be the value set. If you need access to a different replacement variable in your script, you will need to use the setReplacementVariables action after the action to set a new replacement variable of your choosing to one of the other available replacement variables."""

@dataclass
class CreateBoardGivenBoardAndTypeAndFilter(JiraCommand):
    """Create a board. Type is any supported type like scrum, kanban, or diy. If a filter is not provided, a filter will be automatically created from the  project parameter representing a comma separated list of projects. For Cloud, the location of the board will be set to the first project provided in the project parameter if provided. That means the board will be located on the board list in the project UI."""
    board: str
    """Board name or id."""
    type: str
    """Board type like scrum, kanban, or DIY (do it yourself)."""
    filter: str
    """Filter name or id."""
    options: CreateBoardOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createBoard"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class CreateBoardGivenBoardAndTypeAndProject(JiraCommand):
    """Create a board. Type is any supported type like scrum, kanban, or diy. If a filter is not provided, a filter will be automatically created from the  project parameter representing a comma separated list of projects. For Cloud, the location of the board will be set to the first project provided in the project parameter if provided. That means the board will be located on the board list in the project UI."""
    board: str
    """Board name or id."""
    type: str
    """Board type like scrum, kanban, or DIY (do it yourself)."""
    project: str
    """Project key. In some cases, a comma separated list of project keys."""
    options: CreateBoardOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createBoard"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for createBoard

# Variants for createFieldConfigurationScheme
@dataclass
class CreateFieldConfigurationSchemeOptions:
    """Optional parameters for action createFieldConfigurationScheme"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class CreateFieldConfigurationScheme(JiraCommand):
    """Create a field configuration Scheme. The name of the field configuration scheme must be unique. Use the continue parameter to ignore already exists errors."""
    field_configuration_scheme: str
    """Field configuration scheme name or id. Use @default for default scheme."""
    options: CreateFieldConfigurationSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createFieldConfigurationScheme"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for createFieldConfigurationScheme

# Variants for createFilter
@dataclass
class CreateFilterOptions:
    """Optional parameters for action createFilter"""
    description: str|None = None
    """Description."""
    favorite: bool|None = None
    """Mark a filter as a favorite when creating or updating a filter."""

@dataclass
class CreateFilter(JiraCommand):
    """Create a filter based on a JQL search."""
    name: str
    """Name of an item or entity."""
    jql: str
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    options: CreateFilterOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createFilter"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for createFilter

# Variants for createIssue
@dataclass
class CreateIssueOptions:
    """Optional parameters for action createIssue"""
    summary: str|None = None
    """Summary of issue."""
    priority: str|None = None
    """Issue priority - name or id."""
    reporter: str|None = None
    """Issue reporter user id."""
    assignee: str|None = None
    """Issue assignee user id. In some contexts, use -1 for automatic assignment and "" for unassigned."""
    description: str|None = None
    """Description."""
    components: str|None = None
    """Project components - comma separated names or ids."""
    affects_versions: str|None = None
    """Affects versions - comma separated names or ids."""
    fix_versions: str|None = None
    """Fix versions - comma separated names or ids."""
    environment: str|None = None
    """Issue environment."""
    security: str|None = None
    """Issue security level name or id."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    value: str|None = None
    """Field value or condition value for matching."""
    lookup: bool|None = None
    """Lookup userId via search and validate. An error is reported if search does not return a single user."""
    date: str|None = None
    """Release date for version or due date for issue."""
    auto_version: bool|None = None
    """Automatically add versions used in affectsVersions and fixVersions parameters."""
    auto_component: bool|None = None
    """Automatically add components used in components parameter."""
    estimate: str|None = None
    """Estimate of time remaining for an issue. Example: 3h 30m."""
    original_estimate: str|None = None
    """Original estimate of time to complete work for an issue. Example: 3h 30m."""
    comment: str|None = None
    """Comment text."""
    group: str|None = None
    """Group name. In the case of addUser, a comma separated list of group names."""
    role: str|None = None
    """User role in project"""
    labels: str|None = None
    """A blank separated list of all global labels with regex filtering on label."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    reference: str|None = None
    """Reference to a replacement key value used to remember an action specific value like issue key, entity id, or similar so it can be referenced later. Each action that allows this parameter will specify that the reference parameter is valid for the action and the first entry listed for available replacement variables help text will be the value set. If you need access to a different replacement variable in your script, you will need to use the setReplacementVariables action after the action to set a new replacement variable of your choosing to one of the other available replacement variables."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class CreateIssueGivenProjectAndIssueType(JiraCommand):
    """Create a new issue for a project or a subtask of a parent issue. The issue description can be provided by the description parameter or the file parameter or both with the file data appended to the description parameter. Multiline descriptions can be specified using ' \n ' to represent a line break. For example: --description "A multi-line text field \n # line 1 \n # line 2". Use one or more field parameters to set custom fields."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    issue_type: str
    """Issue type - name or id."""
    options: CreateIssueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createIssue"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class CreateIssueGivenParentAndIssueType(JiraCommand):
    """Create a new issue for a project or a subtask of a parent issue. The issue description can be provided by the description parameter or the file parameter or both with the file data appended to the description parameter. Multiline descriptions can be specified using ' \n ' to represent a line break. For example: --description "A multi-line text field \n # line 1 \n # line 2". Use one or more field parameters to set custom fields."""
    parent: str
    """Parent issue key or id."""
    issue_type: str
    """Issue type - name or id."""
    options: CreateIssueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createIssue"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for createIssue

# Variants for createIssueType
@dataclass
class CreateIssueTypeOptions:
    """Optional parameters for action createIssueType"""
    description: str|None = None
    """Description."""
    type: str|None = None
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""

@dataclass
class CreateIssueType(JiraCommand):
    """Create an issue type. Use issueType parameter to provide unique case insensitive name for the new issue type. Use the type parameter to specify 'standard' or 'subtask' issue type. Standard type is used by default."""
    issue_type: str
    """Issue type - name or id."""
    options: CreateIssueTypeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createIssueType"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for createIssueType

# Variants for createIssueTypeScheme
@dataclass
class CreateIssueTypeSchemeOptions:
    """Optional parameters for action createIssueTypeScheme"""
    description: str|None = None
    """Description."""
    default_issue_type: str|None = None
    """When you create or update an issue type scheme, use this parameter to provide the default issue type. When you delete an issue type, use this parameter as the replacement issue type for issues using the deleted issue type."""

@dataclass
class CreateIssueTypeScheme(JiraCommand):
    """Create an issue type scheme. The issueType parameter is a comma separated list of issue type names or ids that are added to the scheme. Use @all to add all available issue types to the scheme. use defaultIssueType parameter to set the default issue type for the created scheme."""
    issue_type_scheme: str
    """Issue type scheme name or id. Use @default for default scheme."""
    issue_type: str
    """Issue type - name or id."""
    options: CreateIssueTypeSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createIssueTypeScheme"

# End Variants for createIssueTypeScheme

# Variants for createIssueTypeScreenScheme
@dataclass
class CreateIssueTypeScreenSchemeOptions:
    """Optional parameters for action createIssueTypeScreenScheme"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class CreateIssueTypeScreenScheme(JiraCommand):
    """Create an issue type screen scheme. The name of the issue type screen scheme must be unique. Use the screenScheme parameter to specify the screen scheme for default all unassigned issue types. Use the continue parameter to ignore already exists errors."""
    issue_type_screen_scheme: str
    """Issue type screen scheme name or id. Use @default for default scheme."""
    screen_scheme: str
    """Screen scheme name or id. Use @default for default screen scheme."""
    options: CreateIssueTypeScreenSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createIssueTypeScreenScheme"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for createIssueTypeScreenScheme

# Variants for createNotificationScheme
@dataclass
class CreateNotificationSchemeOptions:
    """Optional parameters for action createNotificationScheme"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class CreateNotificationScheme(JiraCommand):
    """Create a notification scheme. The name of the notification scheme must be unique. Use the continue parameter to ignore already exists errors."""
    notification_scheme: str
    """Notification scheme name or id."""
    options: CreateNotificationSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createNotificationScheme"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for createNotificationScheme

# Variants for createOrUpdateIssue
@dataclass
class CreateOrUpdateIssueOptions:
    """Optional parameters for action createOrUpdateIssue"""
    summary: str|None = None
    """Summary of issue."""
    resolution: str|None = None
    """Resolution name or id."""
    labels: str|None = None
    """A blank separated list of all global labels with regex filtering on label."""
    priority: str|None = None
    """Issue priority - name or id."""
    reporter: str|None = None
    """Issue reporter user id."""
    assignee: str|None = None
    """Issue assignee user id. In some contexts, use -1 for automatic assignment and "" for unassigned."""
    description: str|None = None
    """Description."""
    components: str|None = None
    """Project components - comma separated names or ids."""
    affects_versions: str|None = None
    """Affects versions - comma separated names or ids."""
    fix_versions: str|None = None
    """Fix versions - comma separated names or ids."""
    environment: str|None = None
    """Issue environment."""
    security: str|None = None
    """Issue security level name or id."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    value: str|None = None
    """Field value or condition value for matching."""
    lookup: bool|None = None
    """Lookup userId via search and validate. An error is reported if search does not return a single user."""
    date: str|None = None
    """Release date for version or due date for issue."""
    auto_version: bool|None = None
    """Automatically add versions used in affectsVersions and fixVersions parameters."""
    auto_component: bool|None = None
    """Automatically add components used in components parameter."""
    estimate: str|None = None
    """Estimate of time remaining for an issue. Example: 3h 30m."""
    original_estimate: str|None = None
    """Original estimate of time to complete work for an issue. Example: 3h 30m."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    append_text: bool|None = None
    """Append text to existing value text for description, environment, and single and multi-value custom fields."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    suppress_notify: bool|None = None
    """Suppress notifying users when an issue is updated. In a few cases, may only be supported on Cloud or later versions of Server."""
    comment: str|None = None
    """Comment text."""
    group: str|None = None
    """Group name. In the case of addUser, a comma separated list of group names."""
    role: str|None = None
    """User role in project"""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    input: Iterable[str]|str|None = None
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""

@dataclass
class CreateOrUpdateIssueGivenJqlAndIssueTypeAndTypeAndProject(JiraCommand):
    """Search for an issue using JQL. If a single issue is found, update it. If no issue is found, create it. After that, This action behaves like createIssue or updateIssue actions."""
    jql: str
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    issue_type: str
    """Issue type - name or id."""
    type: str
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: CreateOrUpdateIssueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createOrUpdateIssue"

@dataclass
class CreateOrUpdateIssueGivenJqlAndIssueTypeAndTypeAndParent(JiraCommand):
    """Search for an issue using JQL. If a single issue is found, update it. If no issue is found, create it. After that, This action behaves like createIssue or updateIssue actions."""
    jql: str
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    issue_type: str
    """Issue type - name or id."""
    type: str
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    parent: str
    """Parent issue key or id."""
    options: CreateOrUpdateIssueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createOrUpdateIssue"

# End Variants for createOrUpdateIssue

# Variants for createPermissionScheme
@dataclass
class CreatePermissionSchemeOptions:
    """Optional parameters for action createPermissionScheme"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class CreatePermissionScheme(JiraCommand):
    """Create a permission scheme."""
    permission_scheme: str
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    options: CreatePermissionSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createPermissionScheme"

# End Variants for createPermissionScheme

# Variants for createPriorityScheme
@dataclass
class CreatePrioritySchemeOptions:
    """Optional parameters for action createPriorityScheme"""
    description: str|None = None
    """Description."""
    default_priority: str|None = None
    """Priority name or id for setting the default priority for a priority scheme."""
    priority_scheme: str|None = None
    """Priority scheme name or id. Use @default for the default scheme."""

@dataclass
class CreatePriorityScheme(JiraCommand):
    """Create a priority scheme."""
    name: str
    """Name of an item or entity."""
    priorities: str
    """Ordered, comma separated list of global priority names or ids."""
    options: CreatePrioritySchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createPriorityScheme"

# End Variants for createPriorityScheme

# Variants for createProject
@dataclass
class CreateProjectOptions:
    """Optional parameters for action createProject"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""
    url: str|None = None
    """Action specific setting. URL or partial URL for renderRequest. Database access URL for SQL related actions. URL for application link related actions."""
    default_assignee: str|None = None
    """Project or component default assignee for issues. For projects, default is unassigned with options: PROJECT_LEAD or UNASSIGNED (blank). For components, default is PROJECT_DEFAULT with options: PROJECT_LEAD, PROJECT_DEFAULT, COMPONENT_LEAD or UNASSIGNED (blank)."""
    lookup: bool|None = None
    """Lookup userId via search and validate. An error is reported if search does not return a single user."""
    template: str|None = None
    """Project template or shared project key, name, or id (createProject action only). Project template names (case sensitive) can be found on the 'Create project' dialog. If a project template is not found, a list of valid templates will be shown in the error message."""
    type: str|None = None
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    permission_scheme: str|None = None
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    notification_scheme: str|None = None
    """Notification scheme name or id."""
    issue_security_scheme: str|None = None
    """Issue security scheme name or id."""
    workflow_scheme: str|None = None
    """Workflow scheme name or id. Use @default for default scheme."""
    priority_scheme: str|None = None
    """Priority scheme name or id. Use @default for the default scheme."""
    issue_type_scheme: str|None = None
    """Issue type scheme name or id. Use @default for default scheme."""
    issue_type_screen_scheme: str|None = None
    """Issue type screen scheme name or id. Use @default for default scheme."""
    field_configuration_scheme: str|None = None
    """Field configuration scheme name or id. Use @default for default scheme."""
    category: str|None = None
    """Project category. Administrator access required to see or use project categories."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class CreateProject(JiraCommand):
    """Create a new project with key provided by project parameter. To share some or all scheme configurations with an existing project, consider using cloneProject or specifying an existing project on the template parameter. If you don't specify a template, you can specify a project type or let it default. Valid types are business, software, service_desk."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    lead: str
    """Project lead user id. Use "@self" to have the lead assigned to the current ACLI user."""
    options: CreateProjectOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createProject"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for createProject

# Variants for createRequest
@dataclass
class CreateRequestOptions:
    """Optional parameters for action createRequest"""
    summary: str|None = None
    """Summary of a request."""
    description: str|None = None
    """Description of a request."""
    for_user: str|None = None
    """Request is made on behalf of another user."""
    organization: str|None = None
    """Organization name or id representing a grouping of users primarily for access permissions."""
    participants: str|None = None
    """A comma separated list of user ids for request participation or as organization members."""
    field: Iterable[str]|str|None = None
    """Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed. This provides a more convenient and expandable way to set fields as an alternative to the fields and numbered field parameters."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class CreateRequest(JiraCommand):
    """Create a request for a service desk project."""
    project: str
    """Service desk project name, key, or id. Also known as a service desk."""
    type: str
    """Request type name or id."""
    options: CreateRequestOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createRequest"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for createRequest

# Variants for createScreenScheme
@dataclass
class CreateScreenSchemeOptions:
    """Optional parameters for action createScreenScheme"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class CreateScreenScheme(JiraCommand):
    """Create a screen scheme. The name of the screen scheme must be unique. Use the screen parameter to specify the screen for default issue operation. Use the continue parameter to ignore already exists errors."""
    screen_scheme: str
    """Screen scheme name or id. Use @default for default screen scheme."""
    screen: str
    """Transition screen name."""
    options: CreateScreenSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createScreenScheme"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for createScreenScheme

# Variants for createSprint
@dataclass
class CreateSprintOptions:
    """Optional parameters for action createSprint"""
    start_date: str|None = None
    """Start date of sprint."""
    end_date: str|None = None
    """End date of sprint."""
    reference: str|None = None
    """Reference to a replacement key value used to remember an action specific value like issue key, entity id, or similar so it can be referenced later. Each action that allows this parameter will specify that the reference parameter is valid for the action and the first entry listed for available replacement variables help text will be the value set. If you need access to a different replacement variable in your script, you will need to use the setReplacementVariables action after the action to set a new replacement variable of your choosing to one of the other available replacement variables."""

@dataclass
class CreateSprint(JiraCommand):
    """Create a sprint by name for a board."""
    board: str
    """Board name or id."""
    sprint: str
    """Sprint name or id."""
    options: CreateSprintOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createSprint"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for createSprint

# Variants for createWorkflow
@dataclass
class CreateWorkflowOptions:
    """Optional parameters for action createWorkflow"""
    description: str|None = None
    """Description."""

@dataclass
class CreateWorkflow(JiraCommand):
    """Create a workflow."""
    workflow: str
    """Workflow name."""
    options: CreateWorkflowOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createWorkflow"

# End Variants for createWorkflow

# Variants for createWorkflowScheme
@dataclass
class CreateWorkflowSchemeOptions:
    """Optional parameters for action createWorkflowScheme"""
    workflow: str|None = None
    """Workflow name."""
    description: str|None = None
    """Description."""
    workflow_scheme: str|None = None
    """Workflow scheme name or id. Use @default for default scheme."""

@dataclass
class CreateWorkflowScheme(JiraCommand):
    """Create a workflow scheme using a default workflow."""
    name: str
    """Name of an item or entity."""
    options: CreateWorkflowSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "createWorkflowScheme"

# End Variants for createWorkflowScheme

# Variants for deleteBoard
@dataclass
class DeleteBoardOptions:
    """Optional parameters for action deleteBoard"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    delete_filter: bool|None = None
    """Attempt to delete the filter associated with the board. Filter must be a findable as a favorite filter."""

@dataclass
class DeleteBoard(JiraCommand):
    """Delete a board. Use continue to ignore not found errors. Use the deleteFilter parameter to delete the filter associated with the board. Note that delete filter will also delete all boards associated with the filter."""
    board: str
    """Board name or id."""
    options: DeleteBoardOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteBoard"

# End Variants for deleteBoard

# Variants for deleteComponent
@dataclass
class DeleteComponentOptions:
    """Optional parameters for action deleteComponent"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteComponent(JiraCommand):
    """Deprecated. Use removeComponent instead. Remove component from a project. Use continue to ignore component not found error."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    component: str
    """Project component name or id."""
    options: DeleteComponentOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteComponent"

# End Variants for deleteComponent

# Variants for deleteFieldConfiguration
@dataclass
class DeleteFieldConfigurationOptions:
    """Optional parameters for action deleteFieldConfiguration"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteFieldConfigurationGivenId(JiraCommand):
    """Delete a field configuration by name or id."""
    id: str
    """Numeric id of an item."""
    options: DeleteFieldConfigurationOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteFieldConfiguration"

@dataclass
class DeleteFieldConfigurationGivenFieldConfiguration(JiraCommand):
    """Delete a field configuration by name or id."""
    field_configuration: str
    """Field configuration name or id. Use @default for default field configuration."""
    options: DeleteFieldConfigurationOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteFieldConfiguration"

# End Variants for deleteFieldConfiguration

# Variants for deleteFieldConfigurationScheme
@dataclass
class DeleteFieldConfigurationSchemeOptions:
    """Optional parameters for action deleteFieldConfigurationScheme"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteFieldConfigurationSchemeGivenId(JiraCommand):
    """Delete a field configuration scheme by name or id."""
    id: str
    """Numeric id of an item."""
    options: DeleteFieldConfigurationSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteFieldConfigurationScheme"

@dataclass
class DeleteFieldConfigurationSchemeGivenFieldConfigurationScheme(JiraCommand):
    """Delete a field configuration scheme by name or id."""
    field_configuration_scheme: str
    """Field configuration scheme name or id. Use @default for default scheme."""
    options: DeleteFieldConfigurationSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteFieldConfigurationScheme"

# End Variants for deleteFieldConfigurationScheme

# Variants for deleteFilter
@dataclass
class DeleteFilterOptions:
    """Optional parameters for action deleteFilter"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteFilterGivenId(JiraCommand):
    """Delete a filter by id or filter name (if it is a favorite filter). Use continue to ignore not found errors."""
    id: str
    """Numeric id of an item."""
    options: DeleteFilterOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteFilter"

@dataclass
class DeleteFilterGivenFilter(JiraCommand):
    """Delete a filter by id or filter name (if it is a favorite filter). Use continue to ignore not found errors."""
    filter: str
    """Filter id or filter name (must be a favorite filter on server). Filter is no longer recognized for issue lists - use jql instead. For instance --jql "filter = 'my filter'"."""
    options: DeleteFilterOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteFilter"

# End Variants for deleteFilter

# Variants for deleteIssue
@dataclass
class DeleteIssueOptions:
    """Optional parameters for action deleteIssue"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteIssue(JiraCommand):
    """Delete an issue. Use continue to ignore error if the issue does not exist."""
    issue: str
    """Issue key or id."""
    options: DeleteIssueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteIssue"

# End Variants for deleteIssue

# Variants for deleteIssueSecurityScheme
@dataclass
class DeleteIssueSecuritySchemeOptions:
    """Optional parameters for action deleteIssueSecurityScheme"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteIssueSecurityScheme(JiraCommand):
    """Delete an issue security scheme by id."""
    id: str
    """Numeric id of an item."""
    options: DeleteIssueSecuritySchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteIssueSecurityScheme"

# End Variants for deleteIssueSecurityScheme

# Variants for deleteIssueType
@dataclass
class DeleteIssueTypeOptions:
    """Optional parameters for action deleteIssueType"""
    default_issue_type: str|None = None
    """When you create or update an issue type scheme, use this parameter to provide the default issue type. When you delete an issue type, use this parameter as the replacement issue type for issues using the deleted issue type."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteIssueType(JiraCommand):
    """Delete an issue type by id or name. Use the defaultIssueType to provide the alternative issue type. When the issue type is in use, all usages are updated with the alternative issue type. The suitable alternatives are issue types which are assigned to the same workflow, the same field configuration and the same screen scheme."""
    issue_type: str
    """Issue type - name or id."""
    options: DeleteIssueTypeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteIssueType"

# End Variants for deleteIssueType

# Variants for deleteIssueTypeScheme
@dataclass
class DeleteIssueTypeSchemeOptions:
    """Optional parameters for action deleteIssueTypeScheme"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteIssueTypeSchemeGivenId(JiraCommand):
    """Delete an issue type scheme by id or name."""
    id: str
    """Numeric id of an item."""
    options: DeleteIssueTypeSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteIssueTypeScheme"

@dataclass
class DeleteIssueTypeSchemeGivenIssueTypeScheme(JiraCommand):
    """Delete an issue type scheme by id or name."""
    issue_type_scheme: str
    """Issue type scheme name or id. Use @default for default scheme."""
    options: DeleteIssueTypeSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteIssueTypeScheme"

# End Variants for deleteIssueTypeScheme

# Variants for deleteIssueTypeScreenScheme
@dataclass
class DeleteIssueTypeScreenSchemeOptions:
    """Optional parameters for action deleteIssueTypeScreenScheme"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteIssueTypeScreenScheme(JiraCommand):
    """Delete an issue type screen scheme by name or id."""
    issue_type_screen_scheme: str
    """Issue type screen scheme name or id. Use @default for default scheme."""
    options: DeleteIssueTypeScreenSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteIssueTypeScreenScheme"

# End Variants for deleteIssueTypeScreenScheme

# Variants for deleteLink

@dataclass
class DeleteLink(JiraCommand):
    """Remove link to another issue."""
    issue: str
    """Issue key or id."""
    to_issue: str
    """Target or link destination issue key or id."""
    link: str
    """Link description. Usually link type name for local links and relationship description for remote links. The link id can also be used for both linkIssue and deleteLink."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteLink"

# End Variants for deleteLink

# Variants for deleteNotificationScheme
@dataclass
class DeleteNotificationSchemeOptions:
    """Optional parameters for action deleteNotificationScheme"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteNotificationScheme(JiraCommand):
    """Delete a notification scheme by name or id."""
    notification_scheme: str
    """Notification scheme name or id."""
    options: DeleteNotificationSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteNotificationScheme"

# End Variants for deleteNotificationScheme

# Variants for deletePermissionScheme
@dataclass
class DeletePermissionSchemeOptions:
    """Optional parameters for action deletePermissionScheme"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeletePermissionSchemeGivenId(JiraCommand):
    """Delete a permission scheme by id or name."""
    id: str
    """Numeric id of an item."""
    options: DeletePermissionSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deletePermissionScheme"

@dataclass
class DeletePermissionSchemeGivenPermissionScheme(JiraCommand):
    """Delete a permission scheme by id or name."""
    permission_scheme: str
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    options: DeletePermissionSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deletePermissionScheme"

# End Variants for deletePermissionScheme

# Variants for deletePriorityScheme
@dataclass
class DeletePrioritySchemeOptions:
    """Optional parameters for action deletePriorityScheme"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeletePrioritySchemeGivenPriorityScheme(JiraCommand):
    """Delete a priority scheme by name or id."""
    priority_scheme: str
    """Priority scheme name or id. Use @default for the default scheme."""
    options: DeletePrioritySchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deletePriorityScheme"

@dataclass
class DeletePrioritySchemeGivenId(JiraCommand):
    """Delete a priority scheme by name or id."""
    id: str
    """Numeric id of an item."""
    options: DeletePrioritySchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deletePriorityScheme"

# End Variants for deletePriorityScheme

# Variants for deleteProject
@dataclass
class DeleteProjectOptions:
    """Optional parameters for action deleteProject"""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteProject(JiraCommand):
    """Delete a project. Use continue to ignore a not found error. Also, for Cloud only, use '--options trash' to move a project to trash. Projects in trash will be automatically deleted after 60 days by Jira. Projects already in the trash, can be deleted permanently by using deleteProject again. Archived projects cannot be deleted, they must be restored first."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: DeleteProjectOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteProject"

# End Variants for deleteProject

# Variants for deleteScreenScheme
@dataclass
class DeleteScreenSchemeOptions:
    """Optional parameters for action deleteScreenScheme"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteScreenSchemeGivenId(JiraCommand):
    """Delete a screen scheme by name or id."""
    id: str
    """Numeric id of an item."""
    options: DeleteScreenSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteScreenScheme"

@dataclass
class DeleteScreenSchemeGivenScreenScheme(JiraCommand):
    """Delete a screen scheme by name or id."""
    screen_scheme: str
    """Screen scheme name or id. Use @default for default screen scheme."""
    options: DeleteScreenSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteScreenScheme"

# End Variants for deleteScreenScheme

# Variants for deleteSprint
@dataclass
class DeleteSprintOptions:
    """Optional parameters for action deleteSprint"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteSprint(JiraCommand):
    """Delete a sprint. Use the sprint parameter for sprint name or id. Use continue to ignore not found errors."""
    sprint: str
    """Sprint name or id."""
    options: DeleteSprintOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteSprint"

# End Variants for deleteSprint

# Variants for deleteVersion
@dataclass
class DeleteVersionOptions:
    """Optional parameters for action deleteVersion"""
    affects_versions: str|None = None
    """Affects versions - comma separated names or ids."""
    fix_versions: str|None = None
    """Fix versions - comma separated names or ids."""
    auto_version: bool|None = None
    """Automatically add versions used in affectsVersions and fixVersions parameters."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteVersion(JiraCommand):
    """Delete a version from a project. Update affects and fix versions for issues by removing version reference or swapping it with versions specified. Use continue to ignore version not found error."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    version: str
    """Project version name or id or app version."""
    options: DeleteVersionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteVersion"

# End Variants for deleteVersion

# Variants for deleteWorkflow
@dataclass
class DeleteWorkflowOptions:
    """Optional parameters for action deleteWorkflow"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteWorkflow(JiraCommand):
    """Delete an inactive workflow. Inactive means it is not associated with any project."""
    workflow: str
    """Workflow name."""
    options: DeleteWorkflowOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteWorkflow"

# End Variants for deleteWorkflow

# Variants for deleteWorkflowScheme
@dataclass
class DeleteWorkflowSchemeOptions:
    """Optional parameters for action deleteWorkflowScheme"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DeleteWorkflowSchemeGivenId(JiraCommand):
    """Delete an inactive workflow scheme."""
    id: str
    """Numeric id of an item."""
    options: DeleteWorkflowSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteWorkflowScheme"

@dataclass
class DeleteWorkflowSchemeGivenWorkflowScheme(JiraCommand):
    """Delete an inactive workflow scheme."""
    workflow_scheme: str
    """Workflow scheme name or id. Use @default for default scheme."""
    options: DeleteWorkflowSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "deleteWorkflowScheme"

# End Variants for deleteWorkflowScheme

# Variants for disableApp

@dataclass
class DisableApp(JiraCommand):
    """Disable an app."""
    app: str
    """App key. In some cases, app name can be used as well."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "disableApp"

# End Variants for disableApp

# Variants for disableCustomFieldOptions
@dataclass
class DisableCustomFieldOptionsCommandOptions:
    """Optional parameters for action disableCustomFieldOptions"""
    context: str|None = None
    """Custom field context."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class DisableCustomFieldOptionsCommand(JiraCommand):
    """disable one or more options belong to a custom field that has field type option or option-with-child. This includes select, cascade select, and radio button custom types."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options_: Iterable[str]
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    options: DisableCustomFieldOptionsCommandOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "disableCustomFieldOptions"

# End Variants for disableCustomFieldOptions

# Variants for enableApp

@dataclass
class EnableApp(JiraCommand):
    """Enable an app."""
    app: str
    """App key. In some cases, app name can be used as well."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "enableApp"

# End Variants for enableApp

# Variants for enableCustomFieldOptions
@dataclass
class EnableCustomFieldOptionsCommandOptions:
    """Optional parameters for action enableCustomFieldOptions"""
    context: str|None = None
    """Custom field context."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class EnableCustomFieldOptionsCommand(JiraCommand):
    """enable one or more options belong to a custom field that has field type option or option-with-child. This includes select, cascade select, and radio button custom types."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options_: Iterable[str]
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    options: EnableCustomFieldOptionsCommandOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "enableCustomFieldOptions"

# End Variants for enableCustomFieldOptions

# Variants for exportData
@dataclass
class ExportDataOptions:
    """Optional parameters for action exportData"""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    group: str|None = None
    """Group name. In the case of addUser, a comma separated list of group names."""
    role: str|None = None
    """User role in project"""
    name: str|None = None
    """Name of an item or entity."""
    include_inactive: bool|None = None
    """To include inactive users in a user list."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class ExportDataGivenExportType(JiraCommand):
    """Export data in a ACLI compatible script suitable for use with the run action normally on a different instance. Supported export types are PROJECT, PERMISSIONSCHEME, PARTICIPANTS, USERS, and CUSTOMFIELDS. The exportType parameter can be a comma separated list of types to export. Specifying project or permissionScheme parameters automatically includes those export types. Use @project for the permissionScheme parameter to use the permission scheme associated with the project identified by the project parameter. For exportType USERS, use '--options includeGroups' to have the addUser action include the group parameter. Also, exportType USERS supports the same filtering parameters as getUserList and exportType CUSTOMFIELDS support the same filtering parameters as getCustomFieldList. Limit and regex parameters are supported on PERMISSIONSCHEME, USERS, and CUSTOMFIELDS exports equivalent to the underlying support provided for the list type action for those constructs."""
    export_type: str
    """Use comma separated list of one or more of PROJECT, PARTICIPANTS, USERS, CUSTOMFIELDS, or PERMISSIONSCHEMES."""
    options: ExportDataOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "exportData"

@dataclass
class ExportDataGivenProject(JiraCommand):
    """Export data in a ACLI compatible script suitable for use with the run action normally on a different instance. Supported export types are PROJECT, PERMISSIONSCHEME, PARTICIPANTS, USERS, and CUSTOMFIELDS. The exportType parameter can be a comma separated list of types to export. Specifying project or permissionScheme parameters automatically includes those export types. Use @project for the permissionScheme parameter to use the permission scheme associated with the project identified by the project parameter. For exportType USERS, use '--options includeGroups' to have the addUser action include the group parameter. Also, exportType USERS supports the same filtering parameters as getUserList and exportType CUSTOMFIELDS support the same filtering parameters as getCustomFieldList. Limit and regex parameters are supported on PERMISSIONSCHEME, USERS, and CUSTOMFIELDS exports equivalent to the underlying support provided for the list type action for those constructs."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: ExportDataOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "exportData"

@dataclass
class ExportDataGivenPermissionScheme(JiraCommand):
    """Export data in a ACLI compatible script suitable for use with the run action normally on a different instance. Supported export types are PROJECT, PERMISSIONSCHEME, PARTICIPANTS, USERS, and CUSTOMFIELDS. The exportType parameter can be a comma separated list of types to export. Specifying project or permissionScheme parameters automatically includes those export types. Use @project for the permissionScheme parameter to use the permission scheme associated with the project identified by the project parameter. For exportType USERS, use '--options includeGroups' to have the addUser action include the group parameter. Also, exportType USERS supports the same filtering parameters as getUserList and exportType CUSTOMFIELDS support the same filtering parameters as getCustomFieldList. Limit and regex parameters are supported on PERMISSIONSCHEME, USERS, and CUSTOMFIELDS exports equivalent to the underlying support provided for the list type action for those constructs."""
    permission_scheme: str
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    options: ExportDataOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "exportData"

@dataclass
class ExportDataGivenNotificationScheme(JiraCommand):
    """Export data in a ACLI compatible script suitable for use with the run action normally on a different instance. Supported export types are PROJECT, PERMISSIONSCHEME, PARTICIPANTS, USERS, and CUSTOMFIELDS. The exportType parameter can be a comma separated list of types to export. Specifying project or permissionScheme parameters automatically includes those export types. Use @project for the permissionScheme parameter to use the permission scheme associated with the project identified by the project parameter. For exportType USERS, use '--options includeGroups' to have the addUser action include the group parameter. Also, exportType USERS supports the same filtering parameters as getUserList and exportType CUSTOMFIELDS support the same filtering parameters as getCustomFieldList. Limit and regex parameters are supported on PERMISSIONSCHEME, USERS, and CUSTOMFIELDS exports equivalent to the underlying support provided for the list type action for those constructs."""
    notification_scheme: str
    """Notification scheme name or id."""
    options: ExportDataOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "exportData"

# End Variants for exportData

# Variants for exportSite
@dataclass
class ExportSiteOptions:
    """Optional parameters for action exportSite"""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    export_attachments: bool|None = None
    """Export attachments and similar data for site export."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class ExportSite(JiraCommand):
    """Create a site export. For server, data is put into a file in the Jira home/export directory. For Cloud, data is available from backup manager screen or the file can optionally be copied to a local file if the file parameter is specified and permissions allow. Also for Cloud only, use the exportAttachments parameter to request the export contain attachments and similar data. Also for Cloud only, use --options backupForServer to create a backup suitable for import to a Server instance."""
    options: ExportSiteOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "exportSite"

# End Variants for exportSite

# Variants for exportWorkflow
@dataclass
class ExportWorkflowOptions:
    """Optional parameters for action exportWorkflow"""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class ExportWorkflow(JiraCommand):
    """Export workflow to XML."""
    workflow: str
    """Workflow name."""
    options: ExportWorkflowOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "exportWorkflow"

# End Variants for exportWorkflow

# Variants for getAccount
@dataclass
class GetAccountOptions:
    """Optional parameters for action getAccount"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetAccountGivenAccount(JiraCommand):
    """Get account information."""
    account: str
    """Account name."""
    options: GetAccountOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getAccount"
    @staticmethod
    def supports_output_type() -> bool:
        return True

@dataclass
class GetAccountGivenId(JiraCommand):
    """Get account information."""
    id: str
    """Numeric id of an item."""
    options: GetAccountOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getAccount"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getAccount

# Variants for getAccountLinkList
@dataclass
class GetAccountLinkListOptions:
    """Optional parameters for action getAccountLinkList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""

@dataclass
class GetAccountLinkListGivenId(JiraCommand):
    """Get a list of account links defined for an account with regex filtering on link name."""
    id: str
    """Numeric id of an item."""
    options: GetAccountLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getAccountLinkList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

@dataclass
class GetAccountLinkListGivenAccount(JiraCommand):
    """Get a list of account links defined for an account with regex filtering on link name."""
    account: str
    """Account name."""
    options: GetAccountLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getAccountLinkList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getAccountLinkList

# Variants for getAccountList
@dataclass
class GetAccountListOptions:
    """Optional parameters for action getAccountList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""

@dataclass
class GetAccountList(JiraCommand):
    """Get a list of accounts defined in this installation with regex filtering on account name."""
    options: GetAccountListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getAccountList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getAccountList

# Variants for getApp
@dataclass
class GetAppOptions:
    """Optional parameters for action getApp"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetApp(JiraCommand):
    """Get app information if installed. Use '--app @default' for the ACLI app."""
    app: str
    """App key."""
    options: GetAppOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getApp"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getApp

# Variants for getAppList
@dataclass
class GetAppListOptions:
    """Optional parameters for action getAppList"""
    include_disabled: bool|None = None
    """To include disabled apps in list."""
    include_system: bool|None = None
    """To include system apps in app list."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetAppList(JiraCommand):
    """Get a list of installed apps with regex filtering on name or key. By default, only enabled, user installed apps are included."""
    options: GetAppListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getAppList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getAppList

# Variants for getApplicationLink
@dataclass
class GetApplicationLinkOptions:
    """Optional parameters for action getApplicationLink"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetApplicationLinkGivenName(JiraCommand):
    """Get information for an application link identified by name or url."""
    name: str
    """Name of an item or entity."""
    options: GetApplicationLinkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getApplicationLink"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

@dataclass
class GetApplicationLinkGivenUrl(JiraCommand):
    """Get information for an application link identified by name or url."""
    url: str
    """Action specific setting. URL or partial URL for renderRequest. Database access URL for SQL related actions. URL for application link related actions."""
    options: GetApplicationLinkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getApplicationLink"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getApplicationLink

# Variants for getApplicationLinkList
@dataclass
class GetApplicationLinkListOptions:
    """Optional parameters for action getApplicationLinkList"""
    type: str|None = None
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetApplicationLinkList(JiraCommand):
    """Get list of a application links with optional filtering on application type and regex filtering on the name or url. Use '--options excludeSystemLinks' to exclude system defined links. Example types: jira, confluence."""
    options: GetApplicationLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getApplicationLinkList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getApplicationLinkList

# Variants for getApplicationList
@dataclass
class GetApplicationListOptions:
    """Optional parameters for action getApplicationList"""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetApplicationList(JiraCommand):
    """Get a list of Jira applications."""
    options: GetApplicationListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getApplicationList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getApplicationList

# Variants for getArchivedIssueList
@dataclass
class GetArchivedIssueListOptions:
    """Optional parameters for action getArchivedIssueList"""
    project: str|None = None
    """Project name, key, or id. Creation requests need a valid project key."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""

@dataclass
class GetArchivedIssueList(JiraCommand):
    """List of archived issues filtered by project and regex matching on summary. Use '--options excludeSubtasks' to filter out subtasks. Maximum of 1000 issues can be retrieved (before filtering) ordered by archive date descending."""
    options: GetArchivedIssueListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getArchivedIssueList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getArchivedIssueList

# Variants for getAttachment
@dataclass
class GetAttachmentOptions:
    """Optional parameters for action getAttachment"""
    name: str|None = None
    """Name of an item or entity."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetAttachment(JiraCommand):
    """Get latest attachment by name or id for an issue."""
    issue: str
    """Issue key or id."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: GetAttachmentOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getAttachment"

# End Variants for getAttachment

# Variants for getAttachmentList
@dataclass
class GetAttachmentListOptions:
    """Optional parameters for action getAttachmentList"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""

@dataclass
class GetAttachmentList(JiraCommand):
    """List attachments for an issue."""
    issue: str
    """Issue key or id."""
    options: GetAttachmentListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getAttachmentList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getAttachmentList

# Variants for getAuditLogList
@dataclass
class GetAuditLogListOptions:
    """Optional parameters for action getAuditLogList"""
    start_date: str|None = None
    """Date version was started. For audit logs, filter entries based on this start date."""
    end_date: str|None = None
    """Audit log filtering end date. Defaults to now."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""

@dataclass
class GetAuditLogList(JiraCommand):
    """Get a list of audit logs with optional regex filtering on log summary. Use startDate and endDate parameters for additional filtering based on log date range. Use '--options search=...' to filter by a simple text search on fields containing the given value. By default, at most 1000 entries are returned unless the limit parameter is explicitly set to something higher."""
    options: GetAuditLogListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getAuditLogList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getAuditLogList

# Variants for getBoard
@dataclass
class GetBoardOptions:
    """Optional parameters for action getBoard"""
    type: str|None = None
    """Board type like scrum, kanban, or DIY (do it yourself)."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetBoard(JiraCommand):
    """Get information about a board by board id or name."""
    board: str
    """Board name or id."""
    options: GetBoardOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getBoard"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getBoard

# Variants for getBoardColumnList
@dataclass
class GetBoardColumnListOptions:
    """Optional parameters for action getBoardColumnList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetBoardColumnList(JiraCommand):
    """List of board columns with optional filtering by regex on name."""
    board: str
    """Board name or id."""
    options: GetBoardColumnListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getBoardColumnList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getBoardColumnList

# Variants for getBoardList
@dataclass
class GetBoardListOptions:
    """Optional parameters for action getBoardList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetBoardList(JiraCommand):
    """List of boards with optional filtering by regex on name."""
    options: GetBoardListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getBoardList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getBoardList

# Variants for getCategoryList
@dataclass
class GetCategoryListOptions:
    """Optional parameters for action getCategoryList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""

@dataclass
class GetCategoryList(JiraCommand):
    """Get a list of categories defined in this installation with regex filtering on category name."""
    options: GetCategoryListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getCategoryList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getCategoryList

# Variants for getComment
@dataclass
class GetCommentOptions:
    """Optional parameters for action getComment"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetComment(JiraCommand):
    """Get comment information."""
    issue: str
    """Issue key or id."""
    id: str
    """Numeric id of an item."""
    options: GetCommentOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getComment"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getComment

# Variants for getCommentList
@dataclass
class GetCommentListOptions:
    """Optional parameters for action getCommentList"""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""

@dataclass
class GetCommentList(JiraCommand):
    """List of comment information for an issue with regex filtering on comment body."""
    issue: str
    """Issue key or id."""
    options: GetCommentListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getCommentList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getCommentList

# Variants for getComments
@dataclass
class GetCommentsOptions:
    """Optional parameters for action getComments"""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetComments(JiraCommand):
    """Get a formatted string of all comment text for an issue."""
    issue: str
    """Issue key or id."""
    options: GetCommentsOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getComments"

# End Variants for getComments

# Variants for getComponent
@dataclass
class GetComponentOptions:
    """Optional parameters for action getComponent"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetComponent(JiraCommand):
    """Get information for a component of a project."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    component: str
    """Project component name or id."""
    options: GetComponentOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getComponent"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getComponent

# Variants for getComponentList
@dataclass
class GetComponentListOptions:
    """Optional parameters for action getComponentList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""

@dataclass
class GetComponentList(JiraCommand):
    """List components defined for a projects. Use '--options excludeArchived' to exclude archived components."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: GetComponentListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getComponentList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getComponentList

# Variants for getCustomFieldContextList
@dataclass
class GetCustomFieldContextListOptions:
    """Optional parameters for action getCustomFieldContextList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetCustomFieldContextList(JiraCommand):
    """Get a list of contexts for a custom field. The field parameter can be the field id or name (matching on first field with that name)."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options: GetCustomFieldContextListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getCustomFieldContextList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getCustomFieldContextList

# Variants for getCustomFieldList
@dataclass
class GetCustomFieldListOptions:
    """Optional parameters for action getCustomFieldList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetCustomFieldList(JiraCommand):
    """Get information on all custom fields."""
    options: GetCustomFieldListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getCustomFieldList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getCustomFieldList

# Variants for getCustomFieldOptionList
@dataclass
class GetCustomFieldOptionListOptions:
    """Optional parameters for action getCustomFieldOptionList"""
    context: str|None = None
    """Custom field context."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetCustomFieldOptionList(JiraCommand):
    """Get a list of options for a custom field of a type support configuring option values like a select list or similar. The field parameter can be the field id or field name (matching on first field with that name)."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options: GetCustomFieldOptionListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getCustomFieldOptionList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getCustomFieldOptionList

# Variants for getCustomerList
@dataclass
class GetCustomerListOptions:
    """Optional parameters for action getCustomerList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""

@dataclass
class GetCustomerList(JiraCommand):
    """Get a list of customer defined in this installation with regex filtering on customer name."""
    options: GetCustomerListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getCustomerList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getCustomerList

# Variants for getEntityProperty
@dataclass
class GetEntityPropertyOptions:
    """Optional parameters for action getEntityProperty"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetEntityPropertyGivenIssueAndName(JiraCommand):
    """Get entity property by name for an issue or project."""
    issue: str
    """Issue key or id."""
    name: str
    """Name of an item or entity."""
    options: GetEntityPropertyOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getEntityProperty"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

@dataclass
class GetEntityPropertyGivenProjectAndName(JiraCommand):
    """Get entity property by name for an issue or project."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    name: str
    """Name of an item or entity."""
    options: GetEntityPropertyOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getEntityProperty"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getEntityProperty

# Variants for getEntityPropertyList
@dataclass
class GetEntityPropertyListOptions:
    """Optional parameters for action getEntityPropertyList"""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""

@dataclass
class GetEntityPropertyListGivenIssue(JiraCommand):
    """List issue properties for an issue with optional regex filtering by name."""
    issue: str
    """Issue key or id."""
    options: GetEntityPropertyListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getEntityPropertyList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

@dataclass
class GetEntityPropertyListGivenProject(JiraCommand):
    """List issue properties for an issue with optional regex filtering by name."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: GetEntityPropertyListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getEntityPropertyList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getEntityPropertyList

# Variants for getEventList
@dataclass
class GetEventListOptions:
    """Optional parameters for action getEventList"""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""

@dataclass
class GetEventList(JiraCommand):
    """List system and custom event with filtering on name. Use '--options custom' to filter the list to only custom events."""
    options: GetEventListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getEventList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getEventList

# Variants for getFieldConfigurationList
@dataclass
class GetFieldConfigurationListOptions:
    """Optional parameters for action getFieldConfigurationList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""

@dataclass
class GetFieldConfigurationList(JiraCommand):
    """Get a list of field configurations with optional regex filtering on name."""
    options: GetFieldConfigurationListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getFieldConfigurationList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getFieldConfigurationList

# Variants for getFieldConfigurationSchemeList
@dataclass
class GetFieldConfigurationSchemeListOptions:
    """Optional parameters for action getFieldConfigurationSchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""

@dataclass
class GetFieldConfigurationSchemeList(JiraCommand):
    """Get a list of field configuration schemes with optional regex filtering on name."""
    options: GetFieldConfigurationSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getFieldConfigurationSchemeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getFieldConfigurationSchemeList

# Variants for getFieldInfo
@dataclass
class GetFieldInfoOptions:
    """Optional parameters for action getFieldInfo"""
    issue: str|None = None
    """Issue key or id."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    reference: str|None = None
    """Reference to a replacement key value used to remember an action specific value like issue key, entity id, or similar so it can be referenced later. Each action that allows this parameter will specify that the reference parameter is valid for the action and the first entry listed for available replacement variables help text will be the value set. If you need access to a different replacement variable in your script, you will need to use the setReplacementVariables action after the action to set a new replacement variable of your choosing to one of the other available replacement variables."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetFieldInfo(JiraCommand):
    """Get information for one or more issue fields including field metadata and value information. Identify a standard or custom field by name, id, or custom field id. An issue parameter is required to show value information. If you just need the field value, use getFieldValue instead. The reference parameter can be used to capture the first field's value in a replacement variable."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options: GetFieldInfoOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getFieldInfo"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getFieldInfo

# Variants for getFieldList
@dataclass
class GetFieldListOptions:
    """Optional parameters for action getFieldList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetFieldList(JiraCommand):
    """Get information on all fields. Filter by id or name regex. Additionally, use '--options custom' to filter the list to only custom fields or use getCustomFieldList."""
    options: GetFieldListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getFieldList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getFieldList

# Variants for getFieldValue
@dataclass
class GetFieldValueOptions:
    """Optional parameters for action getFieldValue"""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    reference: str|None = None
    """Reference to a replacement key value used to remember an action specific value like issue key, entity id, or similar so it can be referenced later. Each action that allows this parameter will specify that the reference parameter is valid for the action and the first entry listed for available replacement variables help text will be the value set. If you need access to a different replacement variable in your script, you will need to use the setReplacementVariables action after the action to set a new replacement variable of your choosing to one of the other available replacement variables."""
    with_id: bool|None = None
    """Display the issue field value including the internal id (if the field has an internal value) using the following format: value (id)."""
    suppress_id: bool|None = None
    """Suppress showing an id when displaying issue fields on getIssue."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetFieldValue(JiraCommand):
    """Get the value of a specific field for an issue. Issue fields can be identified one or more field parameters by name or id. If the reference parameter is provided, a replacement variable of that name will be set to the value of the first field requested. For scripts needing only the field value, use --quiet to suppress other text output normally produced."""
    issue: str
    """Issue key or id."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options: GetFieldValueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getFieldValue"

# End Variants for getFieldValue

# Variants for getFilter
@dataclass
class GetFilterOptions:
    """Optional parameters for action getFilter"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetFilterGivenId(JiraCommand):
    """Get information about a filter by id or filter name (if it is a favorite filter)."""
    id: str
    """Numeric id of an item."""
    options: GetFilterOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getFilter"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

@dataclass
class GetFilterGivenFilter(JiraCommand):
    """Get information about a filter by id or filter name (if it is a favorite filter)."""
    filter: str
    """Filter id or filter name (must be a favorite filter on server). Filter is no longer recognized for issue lists - use jql instead. For instance --jql "filter = 'my filter'"."""
    options: GetFilterOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getFilter"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getFilter

# Variants for getFilterList
@dataclass
class GetFilterListOptions:
    """Optional parameters for action getFilterList"""
    favorite: bool|None = None
    """Mark a filter as a favorite when creating or updating a filter."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetFilterList(JiraCommand):
    """Get a list of filters with regex filtering on the filter name. For Server, only favorite filters will be listed for the current user. For Cloud, all filters the user has access to will be listed for the current user. When the favorite parameter is specified, only the user's favorite filters will be included in the list."""
    options: GetFilterListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getFilterList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getFilterList

# Variants for getFilterPermissionList
@dataclass
class GetFilterPermissionListOptions:
    """Optional parameters for action getFilterPermissionList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetFilterPermissionList(JiraCommand):
    """Get a list of filter permissions."""
    filter: str
    """Filter id or filter name (must be a favorite filter on server). Filter is no longer recognized for issue lists - use jql instead. For instance --jql "filter = 'my filter'"."""
    options: GetFilterPermissionListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getFilterPermissionList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getFilterPermissionList

# Variants for getGroupList
@dataclass
class GetGroupListOptions:
    """Optional parameters for action getGroupList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""

@dataclass
class GetGroupList(JiraCommand):
    """Get a list of groups with optional filtering by regex on group name."""
    options: GetGroupListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getGroupList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getGroupList

# Variants for getIssue
@dataclass
class GetIssueOptions:
    """Optional parameters for action getIssue"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    suppress_id: bool|None = None
    """Suppress showing an id when displaying issue fields on getIssue."""
    reference: str|None = None
    """Reference to a replacement key value used to remember an action specific value like issue key, entity id, or similar so it can be referenced later. Each action that allows this parameter will specify that the reference parameter is valid for the action and the first entry listed for available replacement variables help text will be the value set. If you need access to a different replacement variable in your script, you will need to use the setReplacementVariables action after the action to set a new replacement variable of your choosing to one of the other available replacement variables."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetIssue(JiraCommand):
    """Get information about an existing issue."""
    issue: str
    """Issue key or id."""
    options: GetIssueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getIssue"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getIssue

# Variants for getIssueCount

@dataclass
class GetIssueCountGivenJql(JiraCommand):
    """Get the number of issues that satisfy a JQL search or for a project. Jql parameter takes precedence. This is significantly better performing than getting an issue list."""
    jql: str
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getIssueCount"

@dataclass
class GetIssueCountGivenProject(JiraCommand):
    """Get the number of issues that satisfy a JQL search or for a project. Jql parameter takes precedence. This is significantly better performing than getting an issue list."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getIssueCount"

# End Variants for getIssueCount

# Variants for getIssueHistoryList
@dataclass
class GetIssueHistoryListOptions:
    """Optional parameters for action getIssueHistoryList"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetIssueHistoryList(JiraCommand):
    """Get issue change history."""
    issue: str
    """Issue key or id."""
    options: GetIssueHistoryListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getIssueHistoryList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getIssueHistoryList

# Variants for getIssueList
@dataclass
class GetIssueListOptions:
    """Optional parameters for action getIssueList"""
    jql: str|None = None
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    project: str|None = None
    """Project name, key, or id. Creation requests need a valid project key."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    with_id: bool|None = None
    """Display the issue field value including the internal id (if the field has an internal value) using the following format: value (id)."""
    suppress_id: bool|None = None
    """Suppress showing an id when displaying issue fields on getIssue."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""

@dataclass
class GetIssueList(JiraCommand):
    """List issues for a JQL query or by project. If neither jql or project parameters are provided, a quick list of 100 most recently updated issues with outputFormat 102."""
    options: GetIssueListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getIssueList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getIssueList

# Variants for getIssueSecuritySchemeList
@dataclass
class GetIssueSecuritySchemeListOptions:
    """Optional parameters for action getIssueSecuritySchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""

@dataclass
class GetIssueSecuritySchemeList(JiraCommand):
    """Get a list of issue security schemes with optional regex filtering on name."""
    options: GetIssueSecuritySchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getIssueSecuritySchemeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getIssueSecuritySchemeList

# Variants for getIssueTypeList
@dataclass
class GetIssueTypeListOptions:
    """Optional parameters for action getIssueTypeList"""
    project: str|None = None
    """Project name, key, or id. Creation requests need a valid project key."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""

@dataclass
class GetIssueTypeList(JiraCommand):
    """List issue types valid for a project. If project is blank or @all, all issue types will be listed."""
    options: GetIssueTypeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getIssueTypeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getIssueTypeList

# Variants for getIssueTypeScheme
@dataclass
class GetIssueTypeSchemeOptions:
    """Optional parameters for action getIssueTypeScheme"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetIssueTypeScheme(JiraCommand):
    """Get issue type scheme by name or id."""
    issue_type_scheme: str
    """Issue type scheme name or id. Use @default for default scheme."""
    options: GetIssueTypeSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getIssueTypeScheme"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getIssueTypeScheme

# Variants for getIssueTypeSchemeList
@dataclass
class GetIssueTypeSchemeListOptions:
    """Optional parameters for action getIssueTypeSchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""

@dataclass
class GetIssueTypeSchemeList(JiraCommand):
    """Get a list of issue type schemes with optional regex filtering on name."""
    options: GetIssueTypeSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getIssueTypeSchemeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getIssueTypeSchemeList

# Variants for getIssueTypeScreenSchemeList
@dataclass
class GetIssueTypeScreenSchemeListOptions:
    """Optional parameters for action getIssueTypeScreenSchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""

@dataclass
class GetIssueTypeScreenSchemeList(JiraCommand):
    """Get a list of issue type screen schemes with optional regex filtering on name."""
    options: GetIssueTypeScreenSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getIssueTypeScreenSchemeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getIssueTypeScreenSchemeList

# Variants for getLinkList
@dataclass
class GetLinkListOptions:
    """Optional parameters for action getLinkList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetLinkListGivenIssue(JiraCommand):
    """List issue links for an issue or issues selected by JQL. Filter by regex pattern matching link name or description. Setting options parameter to one of outward or inward will additionally filter by link direction."""
    issue: str
    """Issue key or id."""
    options: GetLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getLinkList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

@dataclass
class GetLinkListGivenJql(JiraCommand):
    """List issue links for an issue or issues selected by JQL. Filter by regex pattern matching link name or description. Setting options parameter to one of outward or inward will additionally filter by link direction."""
    jql: str
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    options: GetLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getLinkList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getLinkList

# Variants for getLinkTypeList
@dataclass
class GetLinkTypeListOptions:
    """Optional parameters for action getLinkTypeList"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetLinkTypeList(JiraCommand):
    """Get a list of all issue link types."""
    options: GetLinkTypeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getLinkTypeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getLinkTypeList

# Variants for getMember
@dataclass
class GetMemberOptions:
    """Optional parameters for action getMember"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetMember(JiraCommand):
    """Get member information."""
    team: str
    """Team name or id."""
    name: str
    """Name of an item or entity."""
    options: GetMemberOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getMember"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getMember

# Variants for getMemberList
@dataclass
class GetMemberListOptions:
    """Optional parameters for action getMemberList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""

@dataclass
class GetMemberList(JiraCommand):
    """Get a list of members with regex filtering on member name."""
    team: str
    """Team name or id."""
    options: GetMemberListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getMemberList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getMemberList

# Variants for getMyPermissionList
@dataclass
class GetMyPermissionListOptions:
    """Optional parameters for action getMyPermissionList"""
    issue: str|None = None
    """Issue key or id."""
    project: str|None = None
    """Project name, key, or id. Creation requests need a valid project key."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetMyPermissionList(JiraCommand):
    """Get a list of permissions for for the current user with regex selection on permission key or name. Specify issue or project so the list will be in the context of an issue or project."""
    options: GetMyPermissionListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getMyPermissionList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getMyPermissionList

# Variants for getMyRequestList
@dataclass
class GetMyRequestListOptions:
    """Optional parameters for action getMyRequestList"""
    project: str|None = None
    """Service desk project name, key, or id. Also known as a service desk."""
    type: str|None = None
    """Request type name or id."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """Append values to existing values for version fields, components field, and custom fields supporting multiple values. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetMyRequestList(JiraCommand):
    """List requests the user is the reporter or a participating with optional regex filtering on summary. You can also filter by service desk project and request type. By default, if no project parameter is provided, all projects are searched."""
    options: GetMyRequestListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getMyRequestList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getMyRequestList

# Variants for getNotificationList
@dataclass
class GetNotificationListOptions:
    """Optional parameters for action getNotificationList"""
    event: str|None = None
    """An event is something that can trigger notifications. There are system and custom events in Jira. System events are used throughout Jira internally, and cannot be added or removed. Custom events are used to generate email notifications from a particular workflow transition's post function. An event can be either active or inactive. An inactive event is not associated with any notification schemes or workflow transition post functions. Inactive custom events can be removed."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""

@dataclass
class GetNotificationList(JiraCommand):
    """Get a list of notifications from given notification scheme and event."""
    notification_scheme: str
    """Notification scheme name or id."""
    options: GetNotificationListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getNotificationList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getNotificationList

# Variants for getNotificationScheme
@dataclass
class GetNotificationSchemeOptions:
    """Optional parameters for action getNotificationScheme"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetNotificationScheme(JiraCommand):
    """Get a notification scheme by name or id."""
    notification_scheme: str
    """Notification scheme name or id."""
    options: GetNotificationSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getNotificationScheme"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getNotificationScheme

# Variants for getNotificationSchemeList
@dataclass
class GetNotificationSchemeListOptions:
    """Optional parameters for action getNotificationSchemeList"""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""

@dataclass
class GetNotificationSchemeList(JiraCommand):
    """Get a list of notification schemes with optional regex filtering on name."""
    options: GetNotificationSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getNotificationSchemeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getNotificationSchemeList

# Variants for getOrganizationList
@dataclass
class GetOrganizationListOptions:
    """Optional parameters for action getOrganizationList"""
    project: str|None = None
    """Service desk project name, key, or id. Also known as a service desk."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """Append values to existing values for version fields, components field, and custom fields supporting multiple values. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetOrganizationList(JiraCommand):
    """List site organizations or project specific organizations with optional filtering by regex on name."""
    options: GetOrganizationListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getOrganizationList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getOrganizationList

# Variants for getOrganizationUserList
@dataclass
class GetOrganizationUserListOptions:
    """Optional parameters for action getOrganizationUserList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """Append values to existing values for version fields, components field, and custom fields supporting multiple values. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetOrganizationUserList(JiraCommand):
    """List users in an organizations with optional filtering by regex on user id."""
    organization: str
    """Organization name or id representing a grouping of users primarily for access permissions."""
    options: GetOrganizationUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getOrganizationUserList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getOrganizationUserList

# Variants for getParticipantList
@dataclass
class GetParticipantListOptions:
    """Optional parameters for action getParticipantList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """Append values to existing values for version fields, components field, and custom fields supporting multiple values. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetParticipantList(JiraCommand):
    """List a request's participants with optional filtering by regex on name."""
    request: str
    """Request key or id."""
    options: GetParticipantListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getParticipantList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getParticipantList

# Variants for getPermissionHolderTypeList
@dataclass
class GetPermissionHolderTypeListOptions:
    """Optional parameters for action getPermissionHolderTypeList"""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetPermissionHolderTypeList(JiraCommand):
    """Get a list of global permission holder types. Permission holder types are used when adding permissions to permission schemes."""
    options: GetPermissionHolderTypeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getPermissionHolderTypeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getPermissionHolderTypeList

# Variants for getPermissionList
@dataclass
class GetPermissionListOptions:
    """Optional parameters for action getPermissionList"""
    permission_scheme: str|None = None
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    project: str|None = None
    """Project name, key, or id. Creation requests need a valid project key."""
    permission: str|None = None
    """Permission name for setting a permission scheme. Use getPermissionList action to provide available permissions."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetPermissionList(JiraCommand):
    """Get a list of permissions for a permission scheme with regex filtering on holder name or value. Use the permission parameter to filter by permission type. If a permission scheme parameter is not provided, get a list of available permissions on the instance with regex filtering on permission key or name. Use @project for the permissionScheme parameter to use the permission scheme associated with the project identified by the project parameter."""
    options: GetPermissionListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getPermissionList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getPermissionList

# Variants for getPermissionScheme
@dataclass
class GetPermissionSchemeOptions:
    """Optional parameters for action getPermissionScheme"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetPermissionSchemeGivenPermissionScheme(JiraCommand):
    """Get a permission scheme details by name or id."""
    permission_scheme: str
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    options: GetPermissionSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getPermissionScheme"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

@dataclass
class GetPermissionSchemeGivenId(JiraCommand):
    """Get a permission scheme details by name or id."""
    id: str
    """Numeric id of an item."""
    options: GetPermissionSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getPermissionScheme"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getPermissionScheme

# Variants for getPermissionSchemeList
@dataclass
class GetPermissionSchemeListOptions:
    """Optional parameters for action getPermissionSchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""

@dataclass
class GetPermissionSchemeList(JiraCommand):
    """Get a list of permission schemes with optional regex filtering on name."""
    options: GetPermissionSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getPermissionSchemeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getPermissionSchemeList

# Variants for getPriorityList
@dataclass
class GetPriorityListOptions:
    """Optional parameters for action getPriorityList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetPriorityList(JiraCommand):
    """Get a list of global priorities with optional regex filtering on the name."""
    options: GetPriorityListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getPriorityList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getPriorityList

# Variants for getPriorityScheme
@dataclass
class GetPrioritySchemeOptions:
    """Optional parameters for action getPriorityScheme"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetPrioritySchemeGivenPriorityScheme(JiraCommand):
    """Get a priority scheme by name or id."""
    priority_scheme: str
    """Priority scheme name or id. Use @default for the default scheme."""
    options: GetPrioritySchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getPriorityScheme"
    @staticmethod
    def supports_output_type() -> bool:
        return True

@dataclass
class GetPrioritySchemeGivenName(JiraCommand):
    """Get a priority scheme by name or id."""
    name: str
    """Name of an item or entity."""
    options: GetPrioritySchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getPriorityScheme"
    @staticmethod
    def supports_output_type() -> bool:
        return True

@dataclass
class GetPrioritySchemeGivenId(JiraCommand):
    """Get a priority scheme by name or id."""
    id: str
    """Numeric id of an item."""
    options: GetPrioritySchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getPriorityScheme"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getPriorityScheme

# Variants for getPrioritySchemeList
@dataclass
class GetPrioritySchemeListOptions:
    """Optional parameters for action getPrioritySchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetPrioritySchemeList(JiraCommand):
    """Get a list of priority schemes with optional regex filtering on name."""
    options: GetPrioritySchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getPrioritySchemeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getPrioritySchemeList

# Variants for getProgramList
@dataclass
class GetProgramListOptions:
    """Optional parameters for action getProgramList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""

@dataclass
class GetProgramList(JiraCommand):
    """Get a list of programs defined in this installation with regex filtering on program name."""
    options: GetProgramListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getProgramList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getProgramList

# Variants for getProject
@dataclass
class GetProjectOptions:
    """Optional parameters for action getProject"""
    suppress_id: bool|None = None
    """Suppress showing an id when displaying issue fields on getIssue."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetProject(JiraCommand):
    """Get project information."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: GetProjectOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getProject"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getProject

# Variants for getProjectCategory
@dataclass
class GetProjectCategoryOptions:
    """Optional parameters for action getProjectCategory"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetProjectCategory(JiraCommand):
    """Get project category information."""
    category: str
    """Project category. Administrator access required to see or use project categories."""
    options: GetProjectCategoryOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getProjectCategory"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getProjectCategory

# Variants for getProjectCategoryList
@dataclass
class GetProjectCategoryListOptions:
    """Optional parameters for action getProjectCategoryList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetProjectCategoryList(JiraCommand):
    """Get list of project categories with regex filtering on name."""
    options: GetProjectCategoryListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getProjectCategoryList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getProjectCategoryList

# Variants for getProjectList
@dataclass
class GetProjectListOptions:
    """Optional parameters for action getProjectList"""
    lead: str|None = None
    """Project lead user id. Use "@self" to have the lead assigned to the current ACLI user."""
    category: str|None = None
    """Project category. Administrator access required to see or use project categories."""
    jql: str|None = None
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetProjectList(JiraCommand):
    """List defined projects with optional filtering by lead, category, and regex on project key or name. Get projects with no category by setting the category parameter to blank. If the jql parameter is provided, the issue count column will count the issues in the project that satisfy the JQL. By default, all issues in the project are counted. For Cloud and Data Center, further filtering is available with the options parameter including includeArchived."""
    options: GetProjectListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getProjectList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getProjectList

# Variants for getProjectRoleActorList
@dataclass
class GetProjectRoleActorListOptions:
    """Optional parameters for action getProjectRoleActorList"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetProjectRoleActorList(JiraCommand):
    """Get users and groups for a project's role. Use @all for role to get the list for all roles."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    role: str
    """User role in project"""
    options: GetProjectRoleActorListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getProjectRoleActorList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getProjectRoleActorList

# Variants for getProjectRoleByUserList
@dataclass
class GetProjectRoleByUserListOptions:
    """Optional parameters for action getProjectRoleByUserList"""
    lead: str|None = None
    """Project lead user id. Use "@self" to have the lead assigned to the current ACLI user."""
    category: str|None = None
    """Project category. Administrator access required to see or use project categories."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetProjectRoleByUserList(JiraCommand):
    """Get project roles for a user across projects. By default all projects will be included. This action can take a long time to complete depending on number of projects and roles! Filter projects by lead, category, and regex on project key. Use userId of @all to product a list for all users. Each role defines a column with a Yes or No value that indicates if the user is authorize to the project according to the role. This includes either directly authorized as a user or as a member of a group that is authorized. Use columns to subset the roles you want to display."""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    options: GetProjectRoleByUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getProjectRoleByUserList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getProjectRoleByUserList

# Variants for getProjectRoleList
@dataclass
class GetProjectRoleListOptions:
    """Optional parameters for action getProjectRoleList"""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetProjectRoleList(JiraCommand):
    """Get project roles with regex filtering by role name. Use the project parameter to list roles for a specific project, otherwise the list will be for globally defined roles. For simplified style projects only, project administration permission is not required to get a role list, however, the actors column will be blank in this case."""
    options: GetProjectRoleListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getProjectRoleList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getProjectRoleList

# Variants for getProjectTemplateList
@dataclass
class GetProjectTemplateListOptions:
    """Optional parameters for action getProjectTemplateList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetProjectTemplateList(JiraCommand):
    """Get list of project templates with regex filtering on name or key."""
    options: GetProjectTemplateListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getProjectTemplateList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getProjectTemplateList

# Variants for getQuickFilter
@dataclass
class GetQuickFilterOptions:
    """Optional parameters for action getQuickFilter"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetQuickFilter(JiraCommand):
    """Get information about a quick filter."""
    board: str
    """Board name or id."""
    filter: str
    """Filter name or id."""
    options: GetQuickFilterOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getQuickFilter"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getQuickFilter

# Variants for getQuickFilterList
@dataclass
class GetQuickFilterListOptions:
    """Optional parameters for action getQuickFilterList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetQuickFilterList(JiraCommand):
    """Get quick filters list for a board."""
    board: str
    """Board name or id."""
    options: GetQuickFilterListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getQuickFilterList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getQuickFilterList

# Variants for getReindexStatus
@dataclass
class GetReindexStatusOptions:
    """Optional parameters for action getReindexStatus"""
    id: str|None = None
    """Numeric id of an item."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetReindexStatus(JiraCommand):
    """Get reindex status details for the current active task, most recent task, or a specific task by id."""
    options: GetReindexStatusOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getReindexStatus"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getReindexStatus

# Variants for getRemoteLinkList
@dataclass
class GetRemoteLinkListOptions:
    """Optional parameters for action getRemoteLinkList"""
    link: str|None = None
    """Link description. Usually link type name for local links and relationship description for remote links. The link id can also be used for both linkIssue and deleteLink."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    regex2: str|None = None
    """Regular expression for secondary content matching. In some cases, filtering on a secondary field may be needed."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetRemoteLinkList(JiraCommand):
    """Get list of a remote links for an issue with optional regex filtering on the name or global id. Also filter by a specific link description if needed using link parameter. If specified, regex2 filtering will be appied to the application type specific information column."""
    issue: str
    """Issue key or id."""
    options: GetRemoteLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getRemoteLinkList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getRemoteLinkList

# Variants for getRequest
@dataclass
class GetRequestOptions:
    """Optional parameters for action getRequest"""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetRequest(JiraCommand):
    """Get a request by key or id."""
    request: str
    """Request key or id."""
    options: GetRequestOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getRequest"

# End Variants for getRequest

# Variants for getRequestType
@dataclass
class GetRequestTypeOptions:
    """Optional parameters for action getRequestType"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """Append values to existing values for version fields, components field, and custom fields supporting multiple values. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetRequestType(JiraCommand):
    """Get request type."""
    project: str
    """Service desk project name, key, or id. Also known as a service desk."""
    type: str
    """Request type name or id."""
    options: GetRequestTypeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getRequestType"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getRequestType

# Variants for getRequestTypeList
@dataclass
class GetRequestTypeListOptions:
    """Optional parameters for action getRequestTypeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """Append values to existing values for version fields, components field, and custom fields supporting multiple values. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetRequestTypeList(JiraCommand):
    """List project's request types with optional filtering by regex on name."""
    project: str
    """Service desk project name, key, or id. Also known as a service desk."""
    options: GetRequestTypeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getRequestTypeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getRequestTypeList

# Variants for getRoleList
@dataclass
class GetRoleListOptions:
    """Optional parameters for action getRoleList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""

@dataclass
class GetRoleList(JiraCommand):
    """Get a list of roles defined in this installation with regex filtering on role name."""
    options: GetRoleListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getRoleList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getRoleList

# Variants for getScreenFieldList
@dataclass
class GetScreenFieldListOptions:
    """Optional parameters for action getScreenFieldList"""
    tab: str|None = None
    """Screen tab."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""

@dataclass
class GetScreenFieldList(JiraCommand):
    """Get a list of fields on a screen subgrouped by tabs. Use this action to retrieve a list of fields on a screen grouped by tab. Use required parameter screen to specify the screen you want to search. You can provide id or name, but id is strongly recommended. Use optional parameter tab if you only want to get fields for a tab."""
    screen: str
    """Transition screen name."""
    options: GetScreenFieldListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getScreenFieldList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getScreenFieldList

# Variants for getScreenList
@dataclass
class GetScreenListOptions:
    """Optional parameters for action getScreenList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""

@dataclass
class GetScreenList(JiraCommand):
    """Get a list of screens with optional regex filtering on name."""
    options: GetScreenListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getScreenList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getScreenList

# Variants for getScreenSchemeList
@dataclass
class GetScreenSchemeListOptions:
    """Optional parameters for action getScreenSchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""

@dataclass
class GetScreenSchemeList(JiraCommand):
    """Get a list of screen schemes with optional regex filtering on name."""
    options: GetScreenSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getScreenSchemeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getScreenSchemeList

# Variants for getScreenTabList
@dataclass
class GetScreenTabListOptions:
    """Optional parameters for action getScreenTabList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""

@dataclass
class GetScreenTabList(JiraCommand):
    """Get a list of tabs for giving screen with optional regex filtering on name. Use this action to retrieve a list of tabs belong to a giving screen with optional regex filtering on name. Use required parameter screen to specify the screen you want to search. You can provide id or name, but id is strongly recommended."""
    screen: str
    """Transition screen name."""
    options: GetScreenTabListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getScreenTabList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getScreenTabList

# Variants for getSecurityLevelList
@dataclass
class GetSecurityLevelListOptions:
    """Optional parameters for action getSecurityLevelList"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""

@dataclass
class GetSecurityLevelList(JiraCommand):
    """List security levels defined for a project configured for issue security. Use continue to ignore an error if issue security is not configured for a project."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: GetSecurityLevelListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getSecurityLevelList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getSecurityLevelList

# Variants for getServerInfo
@dataclass
class GetServerInfoOptions:
    """Optional parameters for action getServerInfo"""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetServerInfo(JiraCommand):
    """Get information about the Jira server."""
    options: GetServerInfoOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getServerInfo"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getServerInfo

# Variants for getShortcutList
@dataclass
class GetShortcutListOptions:
    """Optional parameters for action getShortcutList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetShortcutList(JiraCommand):
    """Get list of shortcuts with regex filtering on name and url."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: GetShortcutListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getShortcutList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getShortcutList

# Variants for getSprint
@dataclass
class GetSprintOptions:
    """Optional parameters for action getSprint"""
    board: str|None = None
    """Board name or id."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetSprint(JiraCommand):
    """Get information about a sprint. Use the sprint parameter for sprint name or id. Use the board parameter to lookup the sprint in a particular board."""
    sprint: str
    """Sprint name or id."""
    options: GetSprintOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getSprint"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getSprint

# Variants for getSprintList
@dataclass
class GetSprintListOptions:
    """Optional parameters for action getSprintList"""
    board: str|None = None
    """Board name or id."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetSprintList(JiraCommand):
    """List of sprints. If the board parameter is provided, get sprint list for the board. Otherwise, get sprint list for all boards."""
    options: GetSprintListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getSprintList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getSprintList

# Variants for getStatusList
@dataclass
class GetStatusListOptions:
    """Optional parameters for action getStatusList"""
    project: str|None = None
    """Project name, key, or id. Creation requests need a valid project key."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""

@dataclass
class GetStatusList(JiraCommand):
    """List statuses in their customized order. If project is specified, only statuses for valid for the project will be listed."""
    options: GetStatusListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getStatusList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getStatusList

# Variants for getSubstitutionValues
@dataclass
class GetSubstitutionValuesOptions:
    """Optional parameters for action getSubstitutionValues"""
    issue: str|None = None
    """Issue key or id."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    reference: str|None = None
    """Reference to a replacement key value used to remember an action specific value like issue key, entity id, or similar so it can be referenced later. Each action that allows this parameter will specify that the reference parameter is valid for the action and the first entry listed for available replacement variables help text will be the value set. If you need access to a different replacement variable in your script, you will need to use the setReplacementVariables action after the action to set a new replacement variable of your choosing to one of the other available replacement variables."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetSubstitutionValues(JiraCommand):
    """Get one or more substitution variable values. Use field parameters to specify the substitution variables. For issue related variables, provide a valid issue parameter. If the reference parameter is provided, a replacement variable of that name will be set to the value of the first substitution variable requested."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options: GetSubstitutionValuesOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getSubstitutionValues"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getSubstitutionValues

# Variants for getTeam
@dataclass
class GetTeamOptions:
    """Optional parameters for action getTeam"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetTeam(JiraCommand):
    """Get team information."""
    team: str
    """Team name or id."""
    options: GetTeamOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getTeam"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getTeam

# Variants for getTeamList
@dataclass
class GetTeamListOptions:
    """Optional parameters for action getTeamList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""

@dataclass
class GetTeamList(JiraCommand):
    """Get a list of teams with regex filtering on team name."""
    options: GetTeamListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getTeamList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getTeamList

# Variants for getTransitionFunctionList
@dataclass
class GetTransitionFunctionListOptions:
    """Optional parameters for action getTransitionFunctionList"""
    step: str|None = None
    """Workflow step name or id for workflow and transition related actions."""
    transition: str|None = None
    """Workflow transition - name or id."""
    type: str|None = None
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetTransitionFunctionList(JiraCommand):
    """Get functions for a workflow transition with regex filtering on function name. Additionally, use the step, transition, and type parameters to filter by step name or id, transaction name or id, and function type."""
    workflow: str
    """Workflow name."""
    options: GetTransitionFunctionListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getTransitionFunctionList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getTransitionFunctionList

# Variants for getTransitionList
@dataclass
class GetTransitionListOptions:
    """Optional parameters for action getTransitionList"""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetTransitionList(JiraCommand):
    """Get available workflow transitions for an issue."""
    issue: str
    """Issue key or id."""
    options: GetTransitionListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getTransitionList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getTransitionList

# Variants for getUser
@dataclass
class GetUserOptions:
    """Optional parameters for action getUser"""
    user_id: str|None = None
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    user_key: str|None = None
    """Unique internal identifier for user management. For Cloud, this is the account id."""
    name: str|None = None
    """Name of an item or entity."""
    reference: str|None = None
    """Reference to a replacement key value used to remember an action specific value like issue key, entity id, or similar so it can be referenced later. Each action that allows this parameter will specify that the reference parameter is valid for the action and the first entry listed for available replacement variables help text will be the value set. If you need access to a different replacement variable in your script, you will need to use the setReplacementVariables action after the action to set a new replacement variable of your choosing to one of the other available replacement variables."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetUser(JiraCommand):
    """Get user information for current user or a specific user requested. User key value takes precedence over userId, userId takes precedence over name. When name is used, the name search must return a single user."""
    options: GetUserOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getUser"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getUser

# Variants for getUserList
@dataclass
class GetUserListOptions:
    """Optional parameters for action getUserList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    include_inactive: bool|None = None
    """To include inactive users in a user list."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""

@dataclass
class GetUserListGivenGroup(JiraCommand):
    """List users from a group or a search by name fragment (userId, display name, and email). Use name of @all to search by name fragment for all characters - this should avoided if you have a group containing all users. Or use project and role to get all users that are part of the role for the project specified. Email filtering will not work if email visibility is off or on Cloud using name search. Include inactive only works for user name searches. For Cloud, customers and apps account types are not included by default, but are available using '--options includeCustomers' or '--options includeApps'."""
    group: str
    """Group name. In the case of addUser, a comma separated list of group names."""
    options: GetUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getUserList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

@dataclass
class GetUserListGivenName(JiraCommand):
    """List users from a group or a search by name fragment (userId, display name, and email). Use name of @all to search by name fragment for all characters - this should avoided if you have a group containing all users. Or use project and role to get all users that are part of the role for the project specified. Email filtering will not work if email visibility is off or on Cloud using name search. Include inactive only works for user name searches. For Cloud, customers and apps account types are not included by default, but are available using '--options includeCustomers' or '--options includeApps'."""
    name: str
    """Name of an item or entity."""
    options: GetUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getUserList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

@dataclass
class GetUserListGivenProjectAndRole(JiraCommand):
    """List users from a group or a search by name fragment (userId, display name, and email). Use name of @all to search by name fragment for all characters - this should avoided if you have a group containing all users. Or use project and role to get all users that are part of the role for the project specified. Email filtering will not work if email visibility is off or on Cloud using name search. Include inactive only works for user name searches. For Cloud, customers and apps account types are not included by default, but are available using '--options includeCustomers' or '--options includeApps'."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    role: str
    """User role in project"""
    options: GetUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getUserList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getUserList

# Variants for getVersion
@dataclass
class GetVersionOptions:
    """Optional parameters for action getVersion"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetVersion(JiraCommand):
    """Get information for a project version."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    version: str
    """Project version name or id or app version."""
    options: GetVersionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getVersion"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getVersion

# Variants for getVersionList
@dataclass
class GetVersionListOptions:
    """Optional parameters for action getVersionList"""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""

@dataclass
class GetVersionList(JiraCommand):
    """List versions defined for a projects with regex filtering on version name. By default, all versions are included. Further filtering is available with the options parameter including excludeReleased, excludeArchived, excludeOverdue, excludeNotReleased, excludeNotArchived, excludeNotOverdue."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: GetVersionListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getVersionList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getVersionList

# Variants for getVoterList
@dataclass
class GetVoterListOptions:
    """Optional parameters for action getVoterList"""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetVoterList(JiraCommand):
    """Get list of users that have voted for an issue."""
    issue: str
    """Issue key or id."""
    options: GetVoterListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getVoterList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getVoterList

# Variants for getWatcherList
@dataclass
class GetWatcherListOptions:
    """Optional parameters for action getWatcherList"""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetWatcherList(JiraCommand):
    """Get list of users that are watching an issue."""
    issue: str
    """Issue key or id."""
    options: GetWatcherListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getWatcherList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getWatcherList

# Variants for getWebhookList
@dataclass
class GetWebhookListOptions:
    """Optional parameters for action getWebhookList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""

@dataclass
class GetWebhookList(JiraCommand):
    """List user defined webhooks with regex filtering on webhook name. Due to current limitations in Jira REST API support, webhook description cannot be set and is returned as blank."""
    options: GetWebhookListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getWebhookList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getWebhookList

# Variants for getWorkAttributeList
@dataclass
class GetWorkAttributeListOptions:
    """Optional parameters for action getWorkAttributeList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""

@dataclass
class GetWorkAttributeList(JiraCommand):
    """Get a list of work attributes defined in this installation with regex filtering on attribute name."""
    options: GetWorkAttributeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getWorkAttributeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getWorkAttributeList

# Variants for getWorkList
@dataclass
class GetWorkListOptions:
    """Optional parameters for action getWorkList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""

@dataclass
class GetWorkList(JiraCommand):
    """List work entries for an issue with regex filtering on work entry comment."""
    issue: str
    """Issue key or id."""
    options: GetWorkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getWorkList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getWorkList

# Variants for getWorkflow
@dataclass
class GetWorkflowOptions:
    """Optional parameters for action getWorkflow"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetWorkflow(JiraCommand):
    """Get workflow information."""
    workflow: str
    """Workflow name."""
    options: GetWorkflowOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getWorkflow"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getWorkflow

# Variants for getWorkflowList
@dataclass
class GetWorkflowListOptions:
    """Optional parameters for action getWorkflowList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetWorkflowList(JiraCommand):
    """Get list of a workflows matching selection criteria. For Cloud, only name, description and Default column are available."""
    options: GetWorkflowListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getWorkflowList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getWorkflowList

# Variants for getWorkflowScheme
@dataclass
class GetWorkflowSchemeOptions:
    """Optional parameters for action getWorkflowScheme"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetWorkflowScheme(JiraCommand):
    """Get workflow scheme information."""
    workflow_scheme: str
    """Workflow scheme name or id. Use @default for default scheme."""
    options: GetWorkflowSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getWorkflowScheme"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getWorkflowScheme

# Variants for getWorkflowSchemeList
@dataclass
class GetWorkflowSchemeListOptions:
    """Optional parameters for action getWorkflowSchemeList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetWorkflowSchemeList(JiraCommand):
    """Get list of a workflow schemes matching selection criteria. Use '--options includeDrafts' to include draft workflow schemes in the list."""
    options: GetWorkflowSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getWorkflowSchemeList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getWorkflowSchemeList

# Variants for getWorkflowStep
@dataclass
class GetWorkflowStepOptions:
    """Optional parameters for action getWorkflowStep"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetWorkflowStep(JiraCommand):
    """Get a workflow step by name or id defined in a workflow."""
    workflow: str
    """Workflow name."""
    step: str
    """Workflow step name or id for workflow and transition related actions."""
    options: GetWorkflowStepOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getWorkflowStep"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getWorkflowStep

# Variants for getWorkflowStepList
@dataclass
class GetWorkflowStepListOptions:
    """Optional parameters for action getWorkflowStepList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetWorkflowStepList(JiraCommand):
    """Get a list of a steps for a workflow with regex filtering on step name."""
    workflow: str
    """Workflow name."""
    options: GetWorkflowStepListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getWorkflowStepList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getWorkflowStepList

# Variants for getWorklog
@dataclass
class GetWorklogOptions:
    """Optional parameters for action getWorklog"""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class GetWorklog(JiraCommand):
    """Get a work log entry."""
    id: str
    """Numeric id of an item."""
    options: GetWorklogOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getWorklog"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getWorklog

# Variants for getWorklogList
@dataclass
class GetWorklogListOptions:
    """Optional parameters for action getWorklogList"""
    issue: str|None = None
    """Issue key."""
    project: str|None = None
    """Project key, or id."""
    team: str|None = None
    """Team name or id."""
    user_id: str|None = None
    """User id"""
    account: str|None = None
    """Account name."""
    from_date: str|None = None
    """Member joining date or worklog filtering date."""
    to_date: str|None = None
    """Member leaving date or worklog filtering date."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    output_type: str|None = None
    """CSV output from get list actions and pretty print output from get actions can optionally be converted to plain text, HTML, or json based on the value of this parameter. Output type slack will send a message to a slack channel specified by the channel parameter using a slack client configuration entry named 'slack' by default or a different site name by using '--options site=slack...'. Get actions also support the variables output type to set replacement variables for use in a ACLI run script. Valid values are: text, table, html, json, variables, slack."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    columns: str|None = None
    """Column selection and ordering when action generates CSV output. A comma separated list of column numbers (1-based) or column names (case insensitive). Only columns provided by the selected outputFormat are available for selection. Invalid columns will be ignored."""
    select: Iterable[str]|str|None = None
    """Used for row selection by column value on list actions. The first colon (:) in the parameter value delineates the column name or number from a regex selection pattern. Each row's column value is used with the regex pattern to determined row inclusion in the final result. By default, row is included if the regex pattern is found in the column value. The options parameter can be set to one or more of the following to modify the default behavior: literal - to treat the regex string as a literal string, exact - to require an exact match of the value (not just a find!), negative - to reverse the condition so a match means exclude the row. Row selection takes place after all other action specific filtering conditions including the limit determination and so generally should not be used with the limit parameter."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    append: bool|None = None
    """For some actions using the file parameter, append will append output to an existing file."""

@dataclass
class GetWorklogList(JiraCommand):
    """List worklogs filtered by project, issue, team, user, account, fromDate, toDate, and with regex filtering on comment."""
    options: GetWorklogListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "getWorklogList"
    @staticmethod
    def supports_output_type() -> bool:
        return True

# End Variants for getWorklogList

# Variants for grantPermission

@dataclass
class GrantPermissionGivenGroupsAndTeamAndPermission(JiraCommand):
    """Grant team permission for groups and users."""
    groups: str
    """Comma separated list of groups names."""
    team: str
    """Team name or id."""
    permission: str
    """Team permission name or key."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "grantPermission"

@dataclass
class GrantPermissionGivenUsersAndTeamAndPermission(JiraCommand):
    """Grant team permission for groups and users."""
    users: str
    """Comma separated list of Jira user ids."""
    team: str
    """Team name or id."""
    permission: str
    """Team permission name or key."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "grantPermission"

# End Variants for grantPermission

# Variants for import
@dataclass
class ImportOptions:
    """Optional parameters for action import"""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class ImportGivenValue(JiraCommand):
    """Import JSON data into Jira from format specified by the Jira importer."""
    value: str
    """Field value or condition value for matching."""
    options: ImportOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "import"

@dataclass
class ImportGivenFile(JiraCommand):
    """Import JSON data into Jira from format specified by the Jira importer."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: ImportOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "import"

# End Variants for import

# Variants for importWorkflow
@dataclass
class ImportWorkflowOptions:
    """Optional parameters for action importWorkflow"""
    description: str|None = None
    """Description."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class ImportWorkflow(JiraCommand):
    """Import workflow from XML."""
    workflow: str
    """Workflow name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: ImportWorkflowOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "importWorkflow"

# End Variants for importWorkflow

# Variants for installApp
@dataclass
class InstallAppOptions:
    """Optional parameters for action installApp"""
    version: str|None = None
    """Project version name or id or app version."""

@dataclass
class InstallAppGivenApp(JiraCommand):
    """Install app via UPM. Use '--app @default' for the ACLI app. See UPM CLI documentation for installApp for more details."""
    app: str
    """App key."""
    options: InstallAppOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "installApp"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class InstallAppGivenUrl(JiraCommand):
    """Install app via UPM. Use '--app @default' for the ACLI app. See UPM CLI documentation for installApp for more details."""
    url: str
    """Action specific setting. URL or partial URL for renderRequest. Database access URL for SQL related actions. URL for application link related actions."""
    options: InstallAppOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "installApp"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class InstallAppGivenFile(JiraCommand):
    """Install app via UPM. Use '--app @default' for the ACLI app. See UPM CLI documentation for installApp for more details."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: InstallAppOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "installApp"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for installApp

# Variants for linkIssue
@dataclass
class LinkIssueOptions:
    """Optional parameters for action linkIssue"""
    comment: str|None = None
    """Comment text."""
    group: str|None = None
    """Group name. In the case of addUser, a comma separated list of group names."""
    role: str|None = None
    """User role in project"""

@dataclass
class LinkIssue(JiraCommand):
    """Link an issue to another issue."""
    issue: str
    """Issue key or id."""
    to_issue: str
    """Target or link destination issue key or id."""
    link: str
    """Link description. Usually link type name for local links and relationship description for remote links. The link id can also be used for both linkIssue and deleteLink."""
    options: LinkIssueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "linkIssue"

# End Variants for linkIssue

# Variants for login
@dataclass
class LoginOptions:
    """Optional parameters for action login"""
    user: str|None = None
    """User name for remote access. Cloud users are identified by email address."""

@dataclass
class Login(JiraCommand):
    """Login to remote server. Server only. Blank returned for Cloud - see the documentation about using an API token instead. Returns login token that can be used on subsequent requests with the login or loginFromStandardInput parameters."""
    password: str
    """User password for remote access. Cloud users need to use an API token for almost all cases and the preference is to provide the token with the token parameter. However, for compatibility reasons, we still allow the token to be provided using the password parameter."""
    options: LoginOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "login"

# End Variants for login

# Variants for logout

@dataclass
class Logout(JiraCommand):
    """Logout of remote server. Server only. Blank returned for Cloud."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "logout"

# End Variants for logout

# Variants for modifyFieldValue
@dataclass
class ModifyFieldValueOptions:
    """Optional parameters for action modifyFieldValue"""
    auto_version: bool|None = None
    """Automatically add versions used in affectsVersions and fixVersions parameters."""
    auto_component: bool|None = None
    """Automatically add components used in components parameter."""
    suppress_notify: bool|None = None
    """Suppress notifying users when an issue is updated. In a few cases, may only be supported on Cloud or later versions of Server."""

@dataclass
class ModifyFieldValueGivenIssueAndFieldAndFindReplace(JiraCommand):
    """Modify the current field value for an issue with find replace logic."""
    issue: str
    """Issue key or id."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    find_replace: Iterable[str]
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options: ModifyFieldValueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "modifyFieldValue"

@dataclass
class ModifyFieldValueGivenIssueAndFieldAndFindReplaceRegex(JiraCommand):
    """Modify the current field value for an issue with find replace logic."""
    issue: str
    """Issue key or id."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    find_replace_regex: Iterable[str]
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options: ModifyFieldValueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "modifyFieldValue"

# End Variants for modifyFieldValue

# Variants for moveTransitionFunction

@dataclass
class MoveTransitionFunction(JiraCommand):
    """Move a transition function (postfunction, validator, or condition) within the list of functions. Use the name parameter to identify the function to be positioned using the leading characters of the function description or a 1 based list position. Use the after parameter to identify the function to be used as a reference for positioning. To position function to the top, use '--after 0'."""
    workflow: str
    """Workflow name."""
    transition: str
    """Workflow transition - name or id."""
    step: str
    """Workflow step name or id for workflow and transition related actions."""
    name: str
    """Name of an item or entity."""
    after: str
    """Version name or id to add a version after. Defaults to after last version. Use -1 to make it the first version."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "moveTransitionFunction"

# End Variants for moveTransitionFunction

# Variants for reindex
@dataclass
class ReindexOptions:
    """Optional parameters for action reindex"""
    type: str|None = None
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class Reindex(JiraCommand):
    """Reindexing is recommended after major configuration changes like fields, plugins, and archiving. Valid types are background (default) and foreground. Background reindexing allows the Jira instance to remain usable. Foreground reindexing deletes and rebuilds all indexes. This can take many minutes or hours on larger instances and means the Jira instance is not available until the operation completes. There are some options available for background reindexing '--options includeComments', '--options includeChangeHistory', '--options includeWorklogs'. Use '--options wait' to wait for the task to be complete before the action completes."""
    options: ReindexOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "reindex"

# End Variants for reindex

# Variants for releaseVersion
@dataclass
class ReleaseVersionOptions:
    """Optional parameters for action releaseVersion"""
    date: str|None = None
    """Release date for version or due date for issue."""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class ReleaseVersion(JiraCommand):
    """Release a version for a project. Resets release date if provided. Defaults to current server date if release date is not set. Use continue to ignore error when that the version is already in the correct state."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    version: str
    """Project version name or id or app version."""
    options: ReleaseVersionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "releaseVersion"

# End Variants for releaseVersion

# Variants for removeAccount
@dataclass
class RemoveAccountOptions:
    """Optional parameters for action removeAccount"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveAccount(JiraCommand):
    """Remove an account."""
    account: str
    """Account name."""
    options: RemoveAccountOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeAccount"

# End Variants for removeAccount

# Variants for removeAccountLink
@dataclass
class RemoveAccountLinkOptions:
    """Optional parameters for action removeAccountLink"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveAccountLinkGivenProjectAndAccount(JiraCommand):
    """Remove an account link."""
    project: str
    """Project key, or id."""
    account: str
    """Account name."""
    options: RemoveAccountLinkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeAccountLink"

@dataclass
class RemoveAccountLinkGivenIdAndAccount(JiraCommand):
    """Remove an account link."""
    id: str
    """Numeric id of an item."""
    account: str
    """Account name."""
    options: RemoveAccountLinkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeAccountLink"

# End Variants for removeAccountLink

# Variants for removeApplicationLink
@dataclass
class RemoveApplicationLinkOptions:
    """Optional parameters for action removeApplicationLink"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveApplicationLinkGivenName(JiraCommand):
    """Remove an application link identified by name or url."""
    name: str
    """Name of an item or entity."""
    options: RemoveApplicationLinkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeApplicationLink"

@dataclass
class RemoveApplicationLinkGivenUrl(JiraCommand):
    """Remove an application link identified by name or url."""
    url: str
    """Action specific setting. URL or partial URL for renderRequest. Database access URL for SQL related actions. URL for application link related actions."""
    options: RemoveApplicationLinkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeApplicationLink"

# End Variants for removeApplicationLink

# Variants for removeAttachment

@dataclass
class RemoveAttachmentGivenIssueAndName(JiraCommand):
    """Remove an attachment from an issue. A single attachment is removed by id or all attachments matching the file name."""
    issue: str
    """Issue key or id."""
    name: str
    """Name of an item or entity."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeAttachment"

@dataclass
class RemoveAttachmentGivenIssueAndId(JiraCommand):
    """Remove an attachment from an issue. A single attachment is removed by id or all attachments matching the file name."""
    issue: str
    """Issue key or id."""
    id: str
    """Numeric id of an item."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeAttachment"

# End Variants for removeAttachment

# Variants for removeBoardColumn
@dataclass
class RemoveBoardColumnOptions:
    """Optional parameters for action removeBoardColumn"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveBoardColumn(JiraCommand):
    """Remove board column by id or column name."""
    board: str
    """Board name or id."""
    column: str
    """Board column name or id."""
    options: RemoveBoardColumnOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeBoardColumn"

# End Variants for removeBoardColumn

# Variants for removeCategory
@dataclass
class RemoveCategoryOptions:
    """Optional parameters for action removeCategory"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveCategory(JiraCommand):
    """Remove a category."""
    category: str
    """Category name or id."""
    options: RemoveCategoryOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeCategory"

# End Variants for removeCategory

# Variants for removeComment

@dataclass
class RemoveComment(JiraCommand):
    """Remove a comment by id from an issue."""
    issue: str
    """Issue key or id."""
    id: str
    """Numeric id of an item."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeComment"

# End Variants for removeComment

# Variants for removeComponent
@dataclass
class RemoveComponentOptions:
    """Optional parameters for action removeComponent"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveComponent(JiraCommand):
    """Remove component from a project. Use continue to ignore component not found error."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    component: str
    """Project component name or id."""
    options: RemoveComponentOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeComponent"

# End Variants for removeComponent

# Variants for removeCustomEvent
@dataclass
class RemoveCustomEventOptions:
    """Optional parameters for action removeCustomEvent"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveCustomEvent(JiraCommand):
    """Remove custom event from Jira system."""
    event: str
    """An event is something that can trigger notifications. There are system and custom events in Jira. System events are used throughout Jira internally, and cannot be added or removed. Custom events are used to generate email notifications from a particular workflow transition's post function. An event can be either active or inactive. An inactive event is not associated with any notification schemes or workflow transition post functions. Inactive custom events can be removed."""
    options: RemoveCustomEventOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeCustomEvent"

# End Variants for removeCustomEvent

# Variants for removeCustomField
@dataclass
class RemoveCustomFieldOptions:
    """Optional parameters for action removeCustomField"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveCustomField(JiraCommand):
    """Remove a custom field by name or id. Use continue to ignore a not defined error. On Cloud, optionally use '--options trash' which will move the field to a trashed list for permanent removal later."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options: RemoveCustomFieldOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeCustomField"

# End Variants for removeCustomField

# Variants for removeCustomFieldContext
@dataclass
class RemoveCustomFieldContextOptions:
    """Optional parameters for action removeCustomFieldContext"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveCustomFieldContext(JiraCommand):
    """Remove a custom field context by name or id."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    context: str
    """Custom field context."""
    options: RemoveCustomFieldContextOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeCustomFieldContext"

# End Variants for removeCustomFieldContext

# Variants for removeCustomFieldContextFromProject

@dataclass
class RemoveCustomFieldContextFromProject(JiraCommand):
    """Remove a custom field context from comma separated list of projects. Remove a context from all projects will make it as a global context. Not only one global context is allowed per field."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    context: str
    """Custom field context."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeCustomFieldContextFromProject"

# End Variants for removeCustomFieldContextFromProject

# Variants for removeCustomFieldOptions
@dataclass
class RemoveCustomFieldOptionsCommandOptions:
    """Optional parameters for action removeCustomFieldOptions"""
    context: str|None = None
    """Custom field context."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveCustomFieldOptionsCommand(JiraCommand):
    """Remove one or more options for a custom field that allows configuration of options. Identify options by name or id."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options_: Iterable[str]
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    options: RemoveCustomFieldOptionsCommandOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeCustomFieldOptions"

# End Variants for removeCustomFieldOptions

# Variants for removeCustomer
@dataclass
class RemoveCustomerOptions:
    """Optional parameters for action removeCustomer"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveCustomerGivenId(JiraCommand):
    """Remove a customer."""
    id: str
    """Numeric id of an item."""
    options: RemoveCustomerOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeCustomer"

@dataclass
class RemoveCustomerGivenCustomer(JiraCommand):
    """Remove a customer."""
    customer: str
    """Customer key or name."""
    options: RemoveCustomerOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeCustomer"

# End Variants for removeCustomer

# Variants for removeEntityProperty
@dataclass
class RemoveEntityPropertyOptions:
    """Optional parameters for action removeEntityProperty"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveEntityPropertyGivenIssueAndName(JiraCommand):
    """Remove an entity property name and value. Use continue parameter to ignore a not found error."""
    issue: str
    """Issue key or id."""
    name: str
    """Name of an item or entity."""
    options: RemoveEntityPropertyOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeEntityProperty"

@dataclass
class RemoveEntityPropertyGivenProjectAndName(JiraCommand):
    """Remove an entity property name and value. Use continue parameter to ignore a not found error."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    name: str
    """Name of an item or entity."""
    options: RemoveEntityPropertyOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeEntityProperty"

# End Variants for removeEntityProperty

# Variants for removeFieldConfigurationSchemeAssociation

@dataclass
class RemoveFieldConfigurationSchemeAssociation(JiraCommand):
    """Remove field configuration to issue type association from a field configuration scheme. The issueType parameter is a comma separated list of issue type names or ids already associated in the field configuration scheme. Note default issue type association can not be removed."""
    field_configuration_scheme: str
    """Field configuration scheme name or id. Use @default for default scheme."""
    issue_type: str
    """Issue type - name or id."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeFieldConfigurationSchemeAssociation"

# End Variants for removeFieldConfigurationSchemeAssociation

# Variants for removeFilterPermission
@dataclass
class RemoveFilterPermissionOptions:
    """Optional parameters for action removeFilterPermission"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveFilterPermission(JiraCommand):
    """Remove a filter permission by id. Use filter parameter for filter id or name. Use id parameter for permission id only."""
    filter: str
    """Filter id or filter name (must be a favorite filter on server). Filter is no longer recognized for issue lists - use jql instead. For instance --jql "filter = 'my filter'"."""
    id: str
    """Numeric id of an item."""
    options: RemoveFilterPermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeFilterPermission"

# End Variants for removeFilterPermission

# Variants for removeGroup
@dataclass
class RemoveGroupOptions:
    """Optional parameters for action removeGroup"""
    default_group: str|None = None
    """Default group to transfer comment and worklog visibility settings to on removeGroup."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveGroup(JiraCommand):
    """Remove a group."""
    group: str
    """Group name. In the case of addUser, a comma separated list of group names."""
    options: RemoveGroupOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeGroup"

# End Variants for removeGroup

# Variants for removeLabels
@dataclass
class RemoveLabelsOptions:
    """Optional parameters for action removeLabels"""
    suppress_notify: bool|None = None
    """Suppress notifying users when an issue is updated. In a few cases, may only be supported on Cloud or later versions of Server."""

@dataclass
class RemoveLabels(JiraCommand):
    """Remove labels from an issue. Requires labels are available for edit on the issue screen."""
    issue: str
    """Issue key or id."""
    labels: str
    """A blank separated list of all global labels with regex filtering on label."""
    options: RemoveLabelsOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeLabels"

# End Variants for removeLabels

# Variants for removeLicense

@dataclass
class RemoveLicense(JiraCommand):
    """Remove license from an installed app for Server. For Cloud, remove private license token for an app."""
    app: str
    """App key. In some cases, app name can be used as well."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeLicense"

# End Variants for removeLicense

# Variants for removeLinkType
@dataclass
class RemoveLinkTypeOptions:
    """Optional parameters for action removeLinkType"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveLinkType(JiraCommand):
    """Remove an issue link type by id or name. Use the link parameter for the id or name of the link type to be deleted."""
    link: str
    """Link description. Usually link type name for local links and relationship description for remote links. The link id can also be used for both linkIssue and deleteLink."""
    options: RemoveLinkTypeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeLinkType"

# End Variants for removeLinkType

# Variants for removeMembers
@dataclass
class RemoveMembersOptions:
    """Optional parameters for action removeMembers"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveMembers(JiraCommand):
    """Remove one or more members from a team."""
    team: str
    """Team name or id."""
    members: str
    """Comma separated list of user ids."""
    options: RemoveMembersOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeMembers"

# End Variants for removeMembers

# Variants for removeNotification
@dataclass
class RemoveNotificationOptions:
    """Optional parameters for action removeNotification"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    id: str|None = None
    """Numeric id of an item."""
    event: str|None = None
    """An event is something that can trigger notifications. There are system and custom events in Jira. System events are used throughout Jira internally, and cannot be added or removed. Custom events are used to generate email notifications from a particular workflow transition's post function. An event can be either active or inactive. An inactive event is not associated with any notification schemes or workflow transition post functions. Inactive custom events can be removed."""
    recipient_type: str|None = None
    """Recipient type for adding notifications."""

@dataclass
class RemoveNotification(JiraCommand):
    """Remove a notification from a notification scheme."""
    notification_scheme: str
    """Notification scheme name or id."""
    options: RemoveNotificationOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeNotification"

# End Variants for removeNotification

# Variants for removeOrganization
@dataclass
class RemoveOrganizationOptions:
    """Optional parameters for action removeOrganization"""
    project: str|None = None
    """Service desk project name, key, or id. Also known as a service desk."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveOrganization(JiraCommand):
    """Remove an organization from the site or from a project."""
    organization: str
    """Organization name or id representing a grouping of users primarily for access permissions."""
    options: RemoveOrganizationOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeOrganization"

# End Variants for removeOrganization

# Variants for removeOrganizationUsers

@dataclass
class RemoveOrganizationUsers(JiraCommand):
    """Remove users from an organization."""
    organization: str
    """Organization name or id representing a grouping of users primarily for access permissions."""
    participants: str
    """A comma separated list of user ids for request participation or as organization members."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeOrganizationUsers"

# End Variants for removeOrganizationUsers

# Variants for removeParticipants

@dataclass
class RemoveParticipants(JiraCommand):
    """Remove one or more participants from a request."""
    request: str
    """Request key or id."""
    participants: str
    """A comma separated list of user ids for request participation or as organization members."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeParticipants"

# End Variants for removeParticipants

# Variants for removePermission
@dataclass
class RemovePermissionOptions:
    """Optional parameters for action removePermission"""
    value: str|None = None
    """Field value or condition value for matching."""
    project: str|None = None
    """Project name, key, or id. Creation requests need a valid project key."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemovePermissionGivenPermissionSchemeAndPermissionAndType(JiraCommand):
    """Remove a permission from a permission scheme. Identify the permission holder by type and value parameters. Alternatively, specify one of the role, group, or userId parameters to add their respective holder type (project role, group, or user) without specify type. Use @project for the permissionScheme parameter to use the permission scheme associated with the project identified by the project parameter. Use the continue parameter to ignore already exists errors."""
    permission_scheme: str
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    permission: str
    """Permission name for setting a permission scheme. Use getPermissionList action to provide available permissions."""
    type: str
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    options: RemovePermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removePermission"

@dataclass
class RemovePermissionGivenPermissionSchemeAndPermissionAndRole(JiraCommand):
    """Remove a permission from a permission scheme. Identify the permission holder by type and value parameters. Alternatively, specify one of the role, group, or userId parameters to add their respective holder type (project role, group, or user) without specify type. Use @project for the permissionScheme parameter to use the permission scheme associated with the project identified by the project parameter. Use the continue parameter to ignore already exists errors."""
    permission_scheme: str
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    permission: str
    """Permission name for setting a permission scheme. Use getPermissionList action to provide available permissions."""
    role: str
    """User role in project"""
    options: RemovePermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removePermission"

@dataclass
class RemovePermissionGivenPermissionSchemeAndPermissionAndGroup(JiraCommand):
    """Remove a permission from a permission scheme. Identify the permission holder by type and value parameters. Alternatively, specify one of the role, group, or userId parameters to add their respective holder type (project role, group, or user) without specify type. Use @project for the permissionScheme parameter to use the permission scheme associated with the project identified by the project parameter. Use the continue parameter to ignore already exists errors."""
    permission_scheme: str
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    permission: str
    """Permission name for setting a permission scheme. Use getPermissionList action to provide available permissions."""
    group: str
    """Group name. In the case of addUser, a comma separated list of group names."""
    options: RemovePermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removePermission"

@dataclass
class RemovePermissionGivenPermissionSchemeAndPermissionAndUserId(JiraCommand):
    """Remove a permission from a permission scheme. Identify the permission holder by type and value parameters. Alternatively, specify one of the role, group, or userId parameters to add their respective holder type (project role, group, or user) without specify type. Use @project for the permissionScheme parameter to use the permission scheme associated with the project identified by the project parameter. Use the continue parameter to ignore already exists errors."""
    permission_scheme: str
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    permission: str
    """Permission name for setting a permission scheme. Use getPermissionList action to provide available permissions."""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    options: RemovePermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removePermission"

# End Variants for removePermission

# Variants for removeProjectCategory
@dataclass
class RemoveProjectCategoryOptions:
    """Optional parameters for action removeProjectCategory"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveProjectCategory(JiraCommand):
    """Remove a project category. Use continue to ignore a not found error."""
    category: str
    """Project category. Administrator access required to see or use project categories."""
    options: RemoveProjectCategoryOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeProjectCategory"

# End Variants for removeProjectCategory

# Variants for removeProjectRole
@dataclass
class RemoveProjectRoleOptions:
    """Optional parameters for action removeProjectRole"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveProjectRole(JiraCommand):
    """Remove a global project role."""
    name: str
    """Name of an item or entity."""
    options: RemoveProjectRoleOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeProjectRole"

# End Variants for removeProjectRole

# Variants for removeProjectRoleActors

@dataclass
class RemoveProjectRoleActorsGivenProjectAndRoleAndUserId(JiraCommand):
    """Remove users or groups from a project role."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    role: str
    """User role in project"""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeProjectRoleActors"

@dataclass
class RemoveProjectRoleActorsGivenProjectAndRoleAndGroup(JiraCommand):
    """Remove users or groups from a project role."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    role: str
    """User role in project"""
    group: str
    """Group name. In the case of addUser, a comma separated list of group names."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeProjectRoleActors"

# End Variants for removeProjectRoleActors

# Variants for removeQuickFilter

@dataclass
class RemoveQuickFilter(JiraCommand):
    """Remove a quick filter from a board."""
    board: str
    """Board name or id."""
    filter: str
    """Filter name or id."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeQuickFilter"

# End Variants for removeQuickFilter

# Variants for removeRemoteLink

@dataclass
class RemoveRemoteLink(JiraCommand):
    """Remove a remote link to an issue. Name can be an numeric id, global link id, or a name."""
    issue: str
    """Issue key or id."""
    name: str
    """Name of an item or entity."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeRemoteLink"

# End Variants for removeRemoteLink

# Variants for removeScreen
@dataclass
class RemoveScreenOptions:
    """Optional parameters for action removeScreen"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveScreen(JiraCommand):
    """Remove screen by id or name. Use this action to remove a screen. You can provide id or name of the screen via required parameter screen, but id is strongly preferred for best performance."""
    screen: str
    """Transition screen name."""
    options: RemoveScreenOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeScreen"

# End Variants for removeScreen

# Variants for removeScreenFields
@dataclass
class RemoveScreenFieldsOptions:
    """Optional parameters for action removeScreenFields"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveScreenFields(JiraCommand):
    """Remove fields from screen. Use parameter screen to specify screen of the tab. You can use id or name, but id is recommended. Use required parameter field to list fields you want to remove."""
    screen: str
    """Transition screen name."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options: RemoveScreenFieldsOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeScreenFields"

# End Variants for removeScreenFields

# Variants for removeScreenTab
@dataclass
class RemoveScreenTabOptions:
    """Optional parameters for action removeScreenTab"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveScreenTab(JiraCommand):
    """Remove Screen Tab by id or name. Use required parameter screen to specify screen of the tab. Use required parameter tab to specify the tab. It is strongly recommended to provide id rather than name for screen."""
    screen: str
    """Transition screen name."""
    tab: str
    """Screen tab."""
    options: RemoveScreenTabOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeScreenTab"

# End Variants for removeScreenTab

# Variants for removeShortcut
@dataclass
class RemoveShortcutOptions:
    """Optional parameters for action removeShortcut"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveShortcutGivenProjectAndName(JiraCommand):
    """Remove a shortcut by name or id. Only one shortcut with that name will be removed. Use --name @all to remove all space shortcuts. Shortcuts show up on the UI."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    name: str
    """Name of an item or entity."""
    options: RemoveShortcutOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeShortcut"

@dataclass
class RemoveShortcutGivenProjectAndId(JiraCommand):
    """Remove a shortcut by name or id. Only one shortcut with that name will be removed. Use --name @all to remove all space shortcuts. Shortcuts show up on the UI."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    id: str
    """Numeric id of an item."""
    options: RemoveShortcutOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeShortcut"

# End Variants for removeShortcut

# Variants for removeTeam
@dataclass
class RemoveTeamOptions:
    """Optional parameters for action removeTeam"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveTeam(JiraCommand):
    """Remove team."""
    team: str
    """Team name or id."""
    options: RemoveTeamOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeTeam"

# End Variants for removeTeam

# Variants for removeTransition

@dataclass
class RemoveTransition(JiraCommand):
    """Remove a transition from a workflow by name or id."""
    workflow: str
    """Workflow name."""
    step: str
    """Workflow step name or id for workflow and transition related actions."""
    transition: str
    """Workflow transition - name or id."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeTransition"

# End Variants for removeTransition

# Variants for removeTransitionFunction

@dataclass
class RemoveTransitionFunction(JiraCommand):
    """Remove a transition function (postfunction, validator, or condition type) from a workflow transition by type and position or name. Use the name parameter for position number (1-based) or name or leading characters of the function name. Use '--transition @create --step @create' to remove functions from the create issue transition."""
    workflow: str
    """Workflow name."""
    step: str
    """Workflow step name or id for workflow and transition related actions."""
    transition: str
    """Workflow transition - name or id."""
    type: str
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    name: str
    """Name of an item or entity."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeTransitionFunction"

# End Variants for removeTransitionFunction

# Variants for removeUser
@dataclass
class RemoveUserOptions:
    """Optional parameters for action removeUser"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveUser(JiraCommand):
    """Remove a user."""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    options: RemoveUserOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeUser"

# End Variants for removeUser

# Variants for removeUserFromGroup
@dataclass
class RemoveUserFromGroupOptions:
    """Optional parameters for action removeUserFromGroup"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveUserFromGroup(JiraCommand):
    """Remove user from a group."""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    group: str
    """Group name. In the case of addUser, a comma separated list of group names."""
    options: RemoveUserFromGroupOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeUserFromGroup"

# End Variants for removeUserFromGroup

# Variants for removeUserProperty
@dataclass
class RemoveUserPropertyOptions:
    """Optional parameters for action removeUserProperty"""
    lookup: bool|None = None
    """Lookup userId via search and validate. An error is reported if search does not return a single user."""

@dataclass
class RemoveUserProperty(JiraCommand):
    """Remove a user's property."""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    name: str
    """Name of an item or entity."""
    options: RemoveUserPropertyOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeUserProperty"

# End Variants for removeUserProperty

# Variants for removeVote

@dataclass
class RemoveVote(JiraCommand):
    """Remove vote from issue."""
    issue: str
    """Issue key or id."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeVote"

# End Variants for removeVote

# Variants for removeWatchers
@dataclass
class RemoveWatchersOptions:
    """Optional parameters for action removeWatchers"""
    user_id: str|None = None
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    lookup: bool|None = None
    """Lookup userId via search and validate. An error is reported if search does not return a single user."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveWatchers(JiraCommand):
    """Remove watchers from an issue. A comma separated list of user ids can be specified."""
    issue: str
    """Issue key or id."""
    options: RemoveWatchersOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeWatchers"

# End Variants for removeWatchers

# Variants for removeWebhook

@dataclass
class RemoveWebhookGivenName(JiraCommand):
    """Remove a user defined webhook."""
    name: str
    """Name of an item or entity."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeWebhook"

@dataclass
class RemoveWebhookGivenId(JiraCommand):
    """Remove a user defined webhook."""
    id: str
    """Numeric id of an item."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeWebhook"

# End Variants for removeWebhook

# Variants for removeWork
@dataclass
class RemoveWorkOptions:
    """Optional parameters for action removeWork"""
    suppress_notify: bool|None = None
    """Suppress notifying users when an issue is updated. In a few cases, may only be supported on Cloud or later versions of Server."""

@dataclass
class RemoveWork(JiraCommand):
    """Remove work log entry. Only Cloud supports suppressNotify."""
    id: str
    """Numeric id of an item."""
    options: RemoveWorkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeWork"

# End Variants for removeWork

# Variants for removeWorkflowStep
@dataclass
class RemoveWorkflowStepOptions:
    """Optional parameters for action removeWorkflowStep"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class RemoveWorkflowStep(JiraCommand):
    """Remove a step from a workflow by name or id."""
    workflow: str
    """Workflow name."""
    step: str
    """Workflow step name or id for workflow and transition related actions."""
    options: RemoveWorkflowStepOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeWorkflowStep"

# End Variants for removeWorkflowStep

# Variants for removeWorklog

@dataclass
class RemoveWorklog(JiraCommand):
    """Remove a work log entry."""
    id: str
    """Numeric id of an item."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "removeWorklog"

# End Variants for removeWorklog

# Variants for renderRequest
@dataclass
class RenderRequestOptions:
    """Optional parameters for action renderRequest"""
    request_type: str|None = None
    """Type of a render request like GET, POST, PUT, DELETE, PATCH, HEAD."""
    data: str|None = None
    """JSON data for runFromJson. Post data for renderRequest. Action specific definition in some cases."""
    content_type: str|None = None
    """Content type for post data for a web request. Any suitable value can be specified. We have defines some special values for commonly used types: JSON, HTML, XML, URL_ENCODED, FORM_URL_ENCODED."""
    accept_type: str|None = None
    """Content type to accept for renderRequest if different than contentType."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class RenderRequestGivenUrl(JiraCommand):
    """Render URL based request. URL can be a partial URL. The response data modified by optional findReplace processing is returned. Use '--pretty' to format returned JSON data in a more readable form."""
    url: str
    """Action specific setting. URL or partial URL for renderRequest. Database access URL for SQL related actions. URL for application link related actions."""
    options: RenderRequestOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "renderRequest"

@dataclass
class RenderRequestGivenProject(JiraCommand):
    """Render URL based request. URL can be a partial URL. The response data modified by optional findReplace processing is returned. Use '--pretty' to format returned JSON data in a more readable form."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: RenderRequestOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "renderRequest"

@dataclass
class RenderRequestGivenIssue(JiraCommand):
    """Render URL based request. URL can be a partial URL. The response data modified by optional findReplace processing is returned. Use '--pretty' to format returned JSON data in a more readable form."""
    issue: str
    """Issue key or id."""
    options: RenderRequestOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "renderRequest"

# End Variants for renderRequest

# Variants for restoreExport

@dataclass
class RestoreExport(JiraCommand):
    """Restore export from file in the Jira home/import directory."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "restoreExport"

# End Variants for restoreExport

# Variants for revokePermission
@dataclass
class RevokePermissionOptions:
    """Optional parameters for action revokePermission"""
    users: str|None = None
    """Comma separated list of Jira user ids."""
    groups: str|None = None
    """Comma separated list of groups names."""

@dataclass
class RevokePermission(JiraCommand):
    """Revoke team permission for groups and users."""
    team: str
    """Team name or id."""
    permission: str
    """Team permission name or key."""
    options: RevokePermissionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "revokePermission"

# End Variants for revokePermission

# Variants for runFromAccountList
@dataclass
class RunFromAccountListOptions:
    """Optional parameters for action runFromAccountList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting fields or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromAccountListGivenInput(JiraCommand):
    """Run action for each account with filtering the same as getAccountList. Available replacement variable is accountId."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromAccountListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromAccountList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromAccountListGivenCommon(JiraCommand):
    """Run action for each account with filtering the same as getAccountList. Available replacement variable is accountId."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromAccountListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromAccountList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromAccountListGivenFile(JiraCommand):
    """Run action for each account with filtering the same as getAccountList. Available replacement variable is accountId."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromAccountListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromAccountList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromAccountList

# Variants for runFromAppList
@dataclass
class RunFromAppListOptions:
    """Optional parameters for action runFromAppList"""
    include_disabled: bool|None = None
    """To include disabled apps in list."""
    include_system: bool|None = None
    """To include system apps in app list."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting fields or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromAppListGivenInput(JiraCommand):
    """Run an action for each app matching the same filtering options as with getAppList."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromAppListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromAppList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromAppListGivenCommon(JiraCommand):
    """Run an action for each app matching the same filtering options as with getAppList."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromAppListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromAppList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromAppListGivenFile(JiraCommand):
    """Run an action for each app matching the same filtering options as with getAppList."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromAppListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromAppList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromAppList

# Variants for runFromApplicationLinkList
@dataclass
class RunFromApplicationLinkListOptions:
    """Optional parameters for action runFromApplicationLinkList"""
    type: str|None = None
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromApplicationLinkListGivenInput(JiraCommand):
    """Run actions for each application link. Filtering available like for getApplicationLinkList."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromApplicationLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromApplicationLinkList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromApplicationLinkListGivenCommon(JiraCommand):
    """Run actions for each application link. Filtering available like for getApplicationLinkList."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromApplicationLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromApplicationLinkList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromApplicationLinkListGivenFile(JiraCommand):
    """Run actions for each application link. Filtering available like for getApplicationLinkList."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromApplicationLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromApplicationLinkList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromApplicationLinkList

# Variants for runFromArchivedIssueList
@dataclass
class RunFromArchivedIssueListOptions:
    """Optional parameters for action runFromArchivedIssueList"""
    project: str|None = None
    """Project name, key, or id. Creation requests need a valid project key."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromArchivedIssueListGivenInput(JiraCommand):
    """Run actions for each issue from an archived issue list similar a list returned from getArchivedIssueList."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromArchivedIssueListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromArchivedIssueList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromArchivedIssueListGivenCommon(JiraCommand):
    """Run actions for each issue from an archived issue list similar a list returned from getArchivedIssueList."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromArchivedIssueListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromArchivedIssueList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromArchivedIssueListGivenFile(JiraCommand):
    """Run actions for each issue from an archived issue list similar a list returned from getArchivedIssueList."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromArchivedIssueListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromArchivedIssueList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromArchivedIssueList

# Variants for runFromAttachmentList
@dataclass
class RunFromAttachmentListOptions:
    """Optional parameters for action runFromAttachmentList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromAttachmentListGivenIssueAndInput(JiraCommand):
    """Run actions for a list of attachments for an issue."""
    issue: str
    """Issue key or id."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromAttachmentListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromAttachmentList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromAttachmentListGivenIssueAndCommon(JiraCommand):
    """Run actions for a list of attachments for an issue."""
    issue: str
    """Issue key or id."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromAttachmentListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromAttachmentList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromAttachmentListGivenIssueAndFile(JiraCommand):
    """Run actions for a list of attachments for an issue."""
    issue: str
    """Issue key or id."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromAttachmentListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromAttachmentList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromAttachmentList

# Variants for runFromBoardList
@dataclass
class RunFromBoardListOptions:
    """Optional parameters for action runFromBoardList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting fields or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromBoardListGivenInput(JiraCommand):
    """Run actions for each board matching selection criteria similar to getBoardList."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromBoardListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromBoardList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromBoardListGivenCommon(JiraCommand):
    """Run actions for each board matching selection criteria similar to getBoardList."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromBoardListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromBoardList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromBoardListGivenFile(JiraCommand):
    """Run actions for each board matching selection criteria similar to getBoardList."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromBoardListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromBoardList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromBoardList

# Variants for runFromCommentList
@dataclass
class RunFromCommentListOptions:
    """Optional parameters for action runFromCommentList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromCommentListGivenIssueAndInput(JiraCommand):
    """Run action for each comment for an issue with optional regex filtering on the comment body."""
    issue: str
    """Issue key or id."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromCommentListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromCommentList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromCommentListGivenIssueAndCommon(JiraCommand):
    """Run action for each comment for an issue with optional regex filtering on the comment body."""
    issue: str
    """Issue key or id."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromCommentListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromCommentList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromCommentListGivenIssueAndFile(JiraCommand):
    """Run action for each comment for an issue with optional regex filtering on the comment body."""
    issue: str
    """Issue key or id."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromCommentListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromCommentList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromCommentList

# Variants for runFromComponentList
@dataclass
class RunFromComponentListOptions:
    """Optional parameters for action runFromComponentList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromComponentListGivenProjectAndInput(JiraCommand):
    """Run actions for each component in a project. Use '--options excludeArchived' to exclude archived components."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromComponentListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromComponentList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromComponentListGivenProjectAndCommon(JiraCommand):
    """Run actions for each component in a project. Use '--options excludeArchived' to exclude archived components."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromComponentListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromComponentList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromComponentListGivenProjectAndFile(JiraCommand):
    """Run actions for each component in a project. Use '--options excludeArchived' to exclude archived components."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromComponentListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromComponentList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromComponentList

# Variants for runFromCustomFieldContextList
@dataclass
class RunFromCustomFieldContextListOptions:
    """Optional parameters for action runFromCustomFieldContextList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromCustomFieldContextListGivenFieldAndInput(JiraCommand):
    """Run action for each field context with optional regex filtering on name."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromCustomFieldContextListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromCustomFieldContextList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromCustomFieldContextListGivenFieldAndCommon(JiraCommand):
    """Run action for each field context with optional regex filtering on name."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromCustomFieldContextListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromCustomFieldContextList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromCustomFieldContextListGivenFieldAndFile(JiraCommand):
    """Run action for each field context with optional regex filtering on name."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromCustomFieldContextListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromCustomFieldContextList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromCustomFieldContextList

# Variants for runFromCustomerList
@dataclass
class RunFromCustomerListOptions:
    """Optional parameters for action runFromCustomerList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed. This provides a more convenient and expandable way to set fields as an alternative to the fields and numbered field parameters."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromCustomerListGivenProjectAndInput(JiraCommand):
    """Run actions for each customer associated with a project with filtering similar to getCustomerList."""
    project: str
    """Service desk project name, key, or id. Also known as a service desk."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromCustomerListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromCustomerList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromCustomerListGivenProjectAndCommon(JiraCommand):
    """Run actions for each customer associated with a project with filtering similar to getCustomerList."""
    project: str
    """Service desk project name, key, or id. Also known as a service desk."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromCustomerListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromCustomerList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromCustomerListGivenProjectAndFile(JiraCommand):
    """Run actions for each customer associated with a project with filtering similar to getCustomerList."""
    project: str
    """Service desk project name, key, or id. Also known as a service desk."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromCustomerListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromCustomerList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromCustomerList

# Variants for runFromEntityPropertyList
@dataclass
class RunFromEntityPropertyListOptions:
    """Optional parameters for action runFromEntityPropertyList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromEntityPropertyListGivenIssueAndInput(JiraCommand):
    """Run action for each entity property for an issue or project with optional regex filtering on name."""
    issue: str
    """Issue key or id."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromEntityPropertyListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromEntityPropertyList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromEntityPropertyListGivenIssueAndCommon(JiraCommand):
    """Run action for each entity property for an issue or project with optional regex filtering on name."""
    issue: str
    """Issue key or id."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromEntityPropertyListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromEntityPropertyList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromEntityPropertyListGivenIssueAndFile(JiraCommand):
    """Run action for each entity property for an issue or project with optional regex filtering on name."""
    issue: str
    """Issue key or id."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromEntityPropertyListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromEntityPropertyList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromEntityPropertyListGivenProjectAndInput(JiraCommand):
    """Run action for each entity property for an issue or project with optional regex filtering on name."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromEntityPropertyListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromEntityPropertyList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromEntityPropertyListGivenProjectAndCommon(JiraCommand):
    """Run action for each entity property for an issue or project with optional regex filtering on name."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromEntityPropertyListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromEntityPropertyList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromEntityPropertyListGivenProjectAndFile(JiraCommand):
    """Run action for each entity property for an issue or project with optional regex filtering on name."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromEntityPropertyListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromEntityPropertyList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromEntityPropertyList

# Variants for runFromEventList
@dataclass
class RunFromEventListOptions:
    """Optional parameters for action runFromEventList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromEventListGivenInput(JiraCommand):
    """Run action for each event with optional regex filtering on name. Use '--options custom' to filter the list to only custom events."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromEventListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromEventList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromEventListGivenCommon(JiraCommand):
    """Run action for each event with optional regex filtering on name. Use '--options custom' to filter the list to only custom events."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromEventListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromEventList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromEventListGivenFile(JiraCommand):
    """Run action for each event with optional regex filtering on name. Use '--options custom' to filter the list to only custom events."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromEventListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromEventList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromEventList

# Variants for runFromFieldConfigurationList
@dataclass
class RunFromFieldConfigurationListOptions:
    """Optional parameters for action runFromFieldConfigurationList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromFieldConfigurationListGivenInput(JiraCommand):
    """Run action for each field configuration with optional regex filtering on name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromFieldConfigurationListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromFieldConfigurationList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromFieldConfigurationListGivenCommon(JiraCommand):
    """Run action for each field configuration with optional regex filtering on name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromFieldConfigurationListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromFieldConfigurationList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromFieldConfigurationListGivenFile(JiraCommand):
    """Run action for each field configuration with optional regex filtering on name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromFieldConfigurationListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromFieldConfigurationList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromFieldConfigurationList

# Variants for runFromFieldConfigurationSchemeList
@dataclass
class RunFromFieldConfigurationSchemeListOptions:
    """Optional parameters for action runFromFieldConfigurationSchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromFieldConfigurationSchemeListGivenInput(JiraCommand):
    """Run action for each field configuration scheme with optional regex filtering on name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromFieldConfigurationSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromFieldConfigurationSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromFieldConfigurationSchemeListGivenCommon(JiraCommand):
    """Run action for each field configuration scheme with optional regex filtering on name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromFieldConfigurationSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromFieldConfigurationSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromFieldConfigurationSchemeListGivenFile(JiraCommand):
    """Run action for each field configuration scheme with optional regex filtering on name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromFieldConfigurationSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromFieldConfigurationSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromFieldConfigurationSchemeList

# Variants for runFromFieldList
@dataclass
class RunFromFieldListOptions:
    """Optional parameters for action runFromFieldList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromFieldListGivenInput(JiraCommand):
    """Run actions for each field with optional filtering the same as for getFieldList. Use '--options custom' to filter the list to only custom fields."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromFieldListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromFieldList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromFieldListGivenCommon(JiraCommand):
    """Run actions for each field with optional filtering the same as for getFieldList. Use '--options custom' to filter the list to only custom fields."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromFieldListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromFieldList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromFieldListGivenFile(JiraCommand):
    """Run actions for each field with optional filtering the same as for getFieldList. Use '--options custom' to filter the list to only custom fields."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromFieldListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromFieldList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromFieldList

# Variants for runFromFilterList
@dataclass
class RunFromFilterListOptions:
    """Optional parameters for action runFromFilterList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromFilterListGivenInput(JiraCommand):
    """Run action for each filter with optional regex filtering on filter name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromFilterListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromFilterList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromFilterListGivenCommon(JiraCommand):
    """Run action for each filter with optional regex filtering on filter name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromFilterListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromFilterList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromFilterListGivenFile(JiraCommand):
    """Run action for each filter with optional regex filtering on filter name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromFilterListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromFilterList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromFilterList

# Variants for runFromGroupList
@dataclass
class RunFromGroupListOptions:
    """Optional parameters for action runFromGroupList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromGroupListGivenInput(JiraCommand):
    """Run action for each group with optional regex filtering on group name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromGroupListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromGroupList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromGroupListGivenCommon(JiraCommand):
    """Run action for each group with optional regex filtering on group name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromGroupListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromGroupList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromGroupListGivenFile(JiraCommand):
    """Run action for each group with optional regex filtering on group name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromGroupListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromGroupList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromGroupList

# Variants for runFromIssueList
@dataclass
class RunFromIssueListOptions:
    """Optional parameters for action runFromIssueList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    output_format: str|None = None
    """Specify output format for list actions. Output format determines what columns are retrieved for the list. More columns usually take longer to retrieve."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromIssueListGivenJqlAndInput(JiraCommand):
    """Run actions for each issue from an issue list based on a JQL search."""
    jql: str
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromIssueListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromIssueListGivenJqlAndCommon(JiraCommand):
    """Run actions for each issue from an issue list based on a JQL search."""
    jql: str
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromIssueListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromIssueListGivenJqlAndFile(JiraCommand):
    """Run actions for each issue from an issue list based on a JQL search."""
    jql: str
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromIssueListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromIssueListGivenProjectAndInput(JiraCommand):
    """Run actions for each issue from an issue list based on a JQL search."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromIssueListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromIssueListGivenProjectAndCommon(JiraCommand):
    """Run actions for each issue from an issue list based on a JQL search."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromIssueListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromIssueListGivenProjectAndFile(JiraCommand):
    """Run actions for each issue from an issue list based on a JQL search."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromIssueListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromIssueList

# Variants for runFromIssueSecuritySchemeList
@dataclass
class RunFromIssueSecuritySchemeListOptions:
    """Optional parameters for action runFromIssueSecuritySchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromIssueSecuritySchemeListGivenInput(JiraCommand):
    """Run action for each issue security scheme with optional regex filtering on name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromIssueSecuritySchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueSecuritySchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromIssueSecuritySchemeListGivenCommon(JiraCommand):
    """Run action for each issue security scheme with optional regex filtering on name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromIssueSecuritySchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueSecuritySchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromIssueSecuritySchemeListGivenFile(JiraCommand):
    """Run action for each issue security scheme with optional regex filtering on name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromIssueSecuritySchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueSecuritySchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromIssueSecuritySchemeList

# Variants for runFromIssueTypeList
@dataclass
class RunFromIssueTypeListOptions:
    """Optional parameters for action runFromIssueTypeList"""
    project: str|None = None
    """Project name, key, or id. Creation requests need a valid project key."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromIssueTypeListGivenInput(JiraCommand):
    """Run action for each issue type with optional regex filtering on name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromIssueTypeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueTypeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromIssueTypeListGivenCommon(JiraCommand):
    """Run action for each issue type with optional regex filtering on name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromIssueTypeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueTypeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromIssueTypeListGivenFile(JiraCommand):
    """Run action for each issue type with optional regex filtering on name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromIssueTypeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueTypeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromIssueTypeList

# Variants for runFromIssueTypeSchemeList
@dataclass
class RunFromIssueTypeSchemeListOptions:
    """Optional parameters for action runFromIssueTypeSchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromIssueTypeSchemeListGivenInput(JiraCommand):
    """Run action for each issue type scheme with optional regex filtering on name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromIssueTypeSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueTypeSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromIssueTypeSchemeListGivenCommon(JiraCommand):
    """Run action for each issue type scheme with optional regex filtering on name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromIssueTypeSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueTypeSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromIssueTypeSchemeListGivenFile(JiraCommand):
    """Run action for each issue type scheme with optional regex filtering on name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromIssueTypeSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueTypeSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromIssueTypeSchemeList

# Variants for runFromIssueTypeScreenSchemeList
@dataclass
class RunFromIssueTypeScreenSchemeListOptions:
    """Optional parameters for action runFromIssueTypeScreenSchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromIssueTypeScreenSchemeListGivenInput(JiraCommand):
    """Run action for each issue type screen scheme with optional regex filtering on name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromIssueTypeScreenSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueTypeScreenSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromIssueTypeScreenSchemeListGivenCommon(JiraCommand):
    """Run action for each issue type screen scheme with optional regex filtering on name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromIssueTypeScreenSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueTypeScreenSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromIssueTypeScreenSchemeListGivenFile(JiraCommand):
    """Run action for each issue type screen scheme with optional regex filtering on name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromIssueTypeScreenSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromIssueTypeScreenSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromIssueTypeScreenSchemeList

# Variants for runFromLinkList
@dataclass
class RunFromLinkListOptions:
    """Optional parameters for action runFromLinkList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromLinkListGivenIssueAndInput(JiraCommand):
    """Run action for each issue link for an issue or issues selected by JQL including filtering just like with getLinkList."""
    issue: str
    """Issue key or id."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromLinkList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromLinkListGivenIssueAndCommon(JiraCommand):
    """Run action for each issue link for an issue or issues selected by JQL including filtering just like with getLinkList."""
    issue: str
    """Issue key or id."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromLinkList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromLinkListGivenIssueAndFile(JiraCommand):
    """Run action for each issue link for an issue or issues selected by JQL including filtering just like with getLinkList."""
    issue: str
    """Issue key or id."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromLinkList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromLinkListGivenJqlAndInput(JiraCommand):
    """Run action for each issue link for an issue or issues selected by JQL including filtering just like with getLinkList."""
    jql: str
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromLinkList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromLinkListGivenJqlAndCommon(JiraCommand):
    """Run action for each issue link for an issue or issues selected by JQL including filtering just like with getLinkList."""
    jql: str
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromLinkList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromLinkListGivenJqlAndFile(JiraCommand):
    """Run action for each issue link for an issue or issues selected by JQL including filtering just like with getLinkList."""
    jql: str
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromLinkList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromLinkList

# Variants for runFromMemberList
@dataclass
class RunFromMemberListOptions:
    """Optional parameters for action runFromMemberList"""
    team: str|None = None
    """Team name or id."""
    user_id: str|None = None
    """User id"""
    project: str|None = None
    """Project key, or id."""
    account: str|None = None
    """Account name."""
    from_date: str|None = None
    """Member joining date or worklog filtering date."""
    to_date: str|None = None
    """Member leaving date or worklog filtering date."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting fields or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromMemberListGivenInput(JiraCommand):
    """Run action for each member with filtering the same as getMemberList. Available replacement variables are member and memberId."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromMemberListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromMemberList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromMemberListGivenCommon(JiraCommand):
    """Run action for each member with filtering the same as getMemberList. Available replacement variables are member and memberId."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromMemberListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromMemberList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromMemberListGivenFile(JiraCommand):
    """Run action for each member with filtering the same as getMemberList. Available replacement variables are member and memberId."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromMemberListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromMemberList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromMemberList

# Variants for runFromMyRequestList
@dataclass
class RunFromMyRequestListOptions:
    """Optional parameters for action runFromMyRequestList"""
    project: str|None = None
    """Service desk project name, key, or id. Also known as a service desk."""
    type: str|None = None
    """Request type name or id."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed. This provides a more convenient and expandable way to set fields as an alternative to the fields and numbered field parameters."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromMyRequestListGivenInput(JiraCommand):
    """Run actions for each request from a list based on selection criteria similar to getMyRequestList."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromMyRequestListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromMyRequestList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromMyRequestListGivenCommon(JiraCommand):
    """Run actions for each request from a list based on selection criteria similar to getMyRequestList."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromMyRequestListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromMyRequestList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromMyRequestListGivenFile(JiraCommand):
    """Run actions for each request from a list based on selection criteria similar to getMyRequestList."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromMyRequestListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromMyRequestList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromMyRequestList

# Variants for runFromNotificationList
@dataclass
class RunFromNotificationListOptions:
    """Optional parameters for action runFromNotificationList"""
    event: str|None = None
    """An event is something that can trigger notifications. There are system and custom events in Jira. System events are used throughout Jira internally, and cannot be added or removed. Custom events are used to generate email notifications from a particular workflow transition's post function. An event can be either active or inactive. An inactive event is not associated with any notification schemes or workflow transition post functions. Inactive custom events can be removed."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromNotificationListGivenNotificationSchemeAndInput(JiraCommand):
    """Run action for each notification in a given notification scheme and event."""
    notification_scheme: str
    """Notification scheme name or id."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromNotificationListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromNotificationList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromNotificationListGivenNotificationSchemeAndCommon(JiraCommand):
    """Run action for each notification in a given notification scheme and event."""
    notification_scheme: str
    """Notification scheme name or id."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromNotificationListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromNotificationList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromNotificationListGivenNotificationSchemeAndFile(JiraCommand):
    """Run action for each notification in a given notification scheme and event."""
    notification_scheme: str
    """Notification scheme name or id."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromNotificationListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromNotificationList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromNotificationList

# Variants for runFromNotificationSchemeList
@dataclass
class RunFromNotificationSchemeListOptions:
    """Optional parameters for action runFromNotificationSchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromNotificationSchemeListGivenInput(JiraCommand):
    """Run action for each notification scheme with optional regex filtering on name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromNotificationSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromNotificationSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromNotificationSchemeListGivenCommon(JiraCommand):
    """Run action for each notification scheme with optional regex filtering on name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromNotificationSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromNotificationSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromNotificationSchemeListGivenFile(JiraCommand):
    """Run action for each notification scheme with optional regex filtering on name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromNotificationSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromNotificationSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromNotificationSchemeList

# Variants for runFromOrganizationList
@dataclass
class RunFromOrganizationListOptions:
    """Optional parameters for action runFromOrganizationList"""
    project: str|None = None
    """Service desk project name, key, or id. Also known as a service desk."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed. This provides a more convenient and expandable way to set fields as an alternative to the fields and numbered field parameters."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromOrganizationListGivenInput(JiraCommand):
    """Run actions for each organization from a list based on selection criteria similar to getOrganizationList."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromOrganizationListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromOrganizationList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromOrganizationListGivenCommon(JiraCommand):
    """Run actions for each organization from a list based on selection criteria similar to getOrganizationList."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromOrganizationListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromOrganizationList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromOrganizationListGivenFile(JiraCommand):
    """Run actions for each organization from a list based on selection criteria similar to getOrganizationList."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromOrganizationListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromOrganizationList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromOrganizationList

# Variants for runFromPermissionList
@dataclass
class RunFromPermissionListOptions:
    """Optional parameters for action runFromPermissionList"""
    permission_scheme: str|None = None
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    project: str|None = None
    """Project name, key, or id. Creation requests need a valid project key."""
    permission: str|None = None
    """Permission name for setting a permission scheme. Use getPermissionList action to provide available permissions."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromPermissionListGivenInput(JiraCommand):
    """Run action for each permission with filtering the same as getPermissionList."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromPermissionListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromPermissionList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromPermissionListGivenCommon(JiraCommand):
    """Run action for each permission with filtering the same as getPermissionList."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromPermissionListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromPermissionList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromPermissionListGivenFile(JiraCommand):
    """Run action for each permission with filtering the same as getPermissionList."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromPermissionListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromPermissionList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromPermissionList

# Variants for runFromPermissionSchemeList
@dataclass
class RunFromPermissionSchemeListOptions:
    """Optional parameters for action runFromPermissionSchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromPermissionSchemeListGivenInput(JiraCommand):
    """Run action for each permission scheme with optional regex filtering on name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromPermissionSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromPermissionSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromPermissionSchemeListGivenCommon(JiraCommand):
    """Run action for each permission scheme with optional regex filtering on name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromPermissionSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromPermissionSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromPermissionSchemeListGivenFile(JiraCommand):
    """Run action for each permission scheme with optional regex filtering on name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromPermissionSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromPermissionSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromPermissionSchemeList

# Variants for runFromPrioritySchemeList
@dataclass
class RunFromPrioritySchemeListOptions:
    """Optional parameters for action runFromPrioritySchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromPrioritySchemeListGivenInput(JiraCommand):
    """Run action for each priority scheme with optional regex filtering on name similar to getPrioritySchemeList."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromPrioritySchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromPrioritySchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromPrioritySchemeListGivenCommon(JiraCommand):
    """Run action for each priority scheme with optional regex filtering on name similar to getPrioritySchemeList."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromPrioritySchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromPrioritySchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromPrioritySchemeListGivenFile(JiraCommand):
    """Run action for each priority scheme with optional regex filtering on name similar to getPrioritySchemeList."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromPrioritySchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromPrioritySchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromPrioritySchemeList

# Variants for runFromProjectCategoryList
@dataclass
class RunFromProjectCategoryListOptions:
    """Optional parameters for action runFromProjectCategoryList"""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromProjectCategoryListGivenInput(JiraCommand):
    """Run action for each project category with filtering like with getProjectCategoryList."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromProjectCategoryListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromProjectCategoryList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromProjectCategoryListGivenCommon(JiraCommand):
    """Run action for each project category with filtering like with getProjectCategoryList."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromProjectCategoryListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromProjectCategoryList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromProjectCategoryListGivenFile(JiraCommand):
    """Run action for each project category with filtering like with getProjectCategoryList."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromProjectCategoryListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromProjectCategoryList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromProjectCategoryList

# Variants for runFromProjectList
@dataclass
class RunFromProjectListOptions:
    """Optional parameters for action runFromProjectList"""
    lead: str|None = None
    """Project lead user id. Use "@self" to have the lead assigned to the current ACLI user."""
    category: str|None = None
    """Project category. Administrator access required to see or use project categories."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromProjectListGivenInput(JiraCommand):
    """Run actions for each project with optional filtering the same as for getProjectList."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromProjectListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromProjectList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromProjectListGivenCommon(JiraCommand):
    """Run actions for each project with optional filtering the same as for getProjectList."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromProjectListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromProjectList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromProjectListGivenFile(JiraCommand):
    """Run actions for each project with optional filtering the same as for getProjectList."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromProjectListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromProjectList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromProjectList

# Variants for runFromQuickFilterList
@dataclass
class RunFromQuickFilterListOptions:
    """Optional parameters for action runFromQuickFilterList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting fields or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromQuickFilterListGivenBoardAndInput(JiraCommand):
    """Run actions for each board matching selection criteria similar to getQuickFilterList."""
    board: str
    """Board name or id."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromQuickFilterListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromQuickFilterList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromQuickFilterListGivenBoardAndCommon(JiraCommand):
    """Run actions for each board matching selection criteria similar to getQuickFilterList."""
    board: str
    """Board name or id."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromQuickFilterListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromQuickFilterList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromQuickFilterListGivenBoardAndFile(JiraCommand):
    """Run actions for each board matching selection criteria similar to getQuickFilterList."""
    board: str
    """Board name or id."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromQuickFilterListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromQuickFilterList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromQuickFilterList

# Variants for runFromRemoteLinkList
@dataclass
class RunFromRemoteLinkListOptions:
    """Optional parameters for action runFromRemoteLinkList"""
    link: str|None = None
    """Link description. Usually link type name for local links and relationship description for remote links. The link id can also be used for both linkIssue and deleteLink."""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    regex2: str|None = None
    """Regular expression for secondary content matching. In some cases, filtering on a secondary field may be needed."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromRemoteLinkListGivenIssueAndInput(JiraCommand):
    """Run action for each remote link for an issue with optional filtering defined the same as for getRemoteLinkList."""
    issue: str
    """Issue key or id."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromRemoteLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromRemoteLinkList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromRemoteLinkListGivenIssueAndCommon(JiraCommand):
    """Run action for each remote link for an issue with optional filtering defined the same as for getRemoteLinkList."""
    issue: str
    """Issue key or id."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromRemoteLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromRemoteLinkList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromRemoteLinkListGivenIssueAndFile(JiraCommand):
    """Run action for each remote link for an issue with optional filtering defined the same as for getRemoteLinkList."""
    issue: str
    """Issue key or id."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromRemoteLinkListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromRemoteLinkList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromRemoteLinkList

# Variants for runFromScreenFieldList
@dataclass
class RunFromScreenFieldListOptions:
    """Optional parameters for action runFromScreenFieldList"""
    tab: str|None = None
    """Screen tab."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromScreenFieldListGivenScreenAndInput(JiraCommand):
    """Run action for each screen field with optional regex filtering on name."""
    screen: str
    """Transition screen name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromScreenFieldListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromScreenFieldList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromScreenFieldListGivenScreenAndCommon(JiraCommand):
    """Run action for each screen field with optional regex filtering on name."""
    screen: str
    """Transition screen name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromScreenFieldListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromScreenFieldList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromScreenFieldListGivenScreenAndFile(JiraCommand):
    """Run action for each screen field with optional regex filtering on name."""
    screen: str
    """Transition screen name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromScreenFieldListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromScreenFieldList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromScreenFieldList

# Variants for runFromScreenList
@dataclass
class RunFromScreenListOptions:
    """Optional parameters for action runFromScreenList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromScreenListGivenInput(JiraCommand):
    """Run action for each screen with optional regex filtering on name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromScreenListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromScreenList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromScreenListGivenCommon(JiraCommand):
    """Run action for each screen with optional regex filtering on name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromScreenListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromScreenList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromScreenListGivenFile(JiraCommand):
    """Run action for each screen with optional regex filtering on name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromScreenListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromScreenList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromScreenList

# Variants for runFromScreenSchemeList
@dataclass
class RunFromScreenSchemeListOptions:
    """Optional parameters for action runFromScreenSchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromScreenSchemeListGivenInput(JiraCommand):
    """Run action for each screen scheme with optional regex filtering on name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromScreenSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromScreenSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromScreenSchemeListGivenCommon(JiraCommand):
    """Run action for each screen scheme with optional regex filtering on name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromScreenSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromScreenSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromScreenSchemeListGivenFile(JiraCommand):
    """Run action for each screen scheme with optional regex filtering on name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromScreenSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromScreenSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromScreenSchemeList

# Variants for runFromShortcutList
@dataclass
class RunFromShortcutListOptions:
    """Optional parameters for action runFromShortcutList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromShortcutListGivenProjectAndInput(JiraCommand):
    """Run actions for each shortcut matching selection criteria similar to getShortcutList."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromShortcutListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromShortcutList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromShortcutListGivenProjectAndCommon(JiraCommand):
    """Run actions for each shortcut matching selection criteria similar to getShortcutList."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromShortcutListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromShortcutList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromShortcutListGivenProjectAndFile(JiraCommand):
    """Run actions for each shortcut matching selection criteria similar to getShortcutList."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromShortcutListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromShortcutList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromShortcutList

# Variants for runFromSprintList
@dataclass
class RunFromSprintListOptions:
    """Optional parameters for action runFromSprintList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting fields or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromSprintListGivenBoardAndInput(JiraCommand):
    """Run actions for each sprint matching selection criteria similar to getSprintList."""
    board: str
    """Board name or id."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromSprintListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromSprintList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromSprintListGivenBoardAndCommon(JiraCommand):
    """Run actions for each sprint matching selection criteria similar to getSprintList."""
    board: str
    """Board name or id."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromSprintListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromSprintList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromSprintListGivenBoardAndFile(JiraCommand):
    """Run actions for each sprint matching selection criteria similar to getSprintList."""
    board: str
    """Board name or id."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromSprintListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromSprintList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromSprintList

# Variants for runFromTeamList
@dataclass
class RunFromTeamListOptions:
    """Optional parameters for action runFromTeamList"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting fields or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromTeamListGivenInput(JiraCommand):
    """Run action for each team with filtering the same as getTeamList. Available replacement variables are team and teamId."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromTeamListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromTeamList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromTeamListGivenCommon(JiraCommand):
    """Run action for each team with filtering the same as getTeamList. Available replacement variables are team and teamId."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromTeamListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromTeamList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromTeamListGivenFile(JiraCommand):
    """Run action for each team with filtering the same as getTeamList. Available replacement variables are team and teamId."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromTeamListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromTeamList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromTeamList

# Variants for runFromUserList
@dataclass
class RunFromUserListOptions:
    """Optional parameters for action runFromUserList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    include_inactive: bool|None = None
    """To include inactive users in a user list."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromUserListGivenGroupAndInput(JiraCommand):
    """Run action for each user with similar filtering as getUserList."""
    group: str
    """Group name. In the case of addUser, a comma separated list of group names."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromUserList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromUserListGivenGroupAndCommon(JiraCommand):
    """Run action for each user with similar filtering as getUserList."""
    group: str
    """Group name. In the case of addUser, a comma separated list of group names."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromUserList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromUserListGivenGroupAndFile(JiraCommand):
    """Run action for each user with similar filtering as getUserList."""
    group: str
    """Group name. In the case of addUser, a comma separated list of group names."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromUserList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromUserListGivenNameAndInput(JiraCommand):
    """Run action for each user with similar filtering as getUserList."""
    name: str
    """Name of an item or entity."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromUserList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromUserListGivenNameAndCommon(JiraCommand):
    """Run action for each user with similar filtering as getUserList."""
    name: str
    """Name of an item or entity."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromUserList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromUserListGivenNameAndFile(JiraCommand):
    """Run action for each user with similar filtering as getUserList."""
    name: str
    """Name of an item or entity."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromUserList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromUserListGivenProjectAndRoleAndInput(JiraCommand):
    """Run action for each user with similar filtering as getUserList."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    role: str
    """User role in project"""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromUserList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromUserListGivenProjectAndRoleAndCommon(JiraCommand):
    """Run action for each user with similar filtering as getUserList."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    role: str
    """User role in project"""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromUserList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromUserListGivenProjectAndRoleAndFile(JiraCommand):
    """Run action for each user with similar filtering as getUserList."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    role: str
    """User role in project"""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromUserListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromUserList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromUserList

# Variants for runFromVersionList
@dataclass
class RunFromVersionListOptions:
    """Optional parameters for action runFromVersionList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromVersionListGivenInput(JiraCommand):
    """Run actions for each version in a project with filtering options like getVersionList."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromVersionListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromVersionList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromVersionListGivenCommon(JiraCommand):
    """Run actions for each version in a project with filtering options like getVersionList."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromVersionListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromVersionList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromVersionListGivenFile(JiraCommand):
    """Run actions for each version in a project with filtering options like getVersionList."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromVersionListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromVersionList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromVersionList

# Variants for runFromWebhookList
@dataclass
class RunFromWebhookListOptions:
    """Optional parameters for action runFromWebhookList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromWebhookListGivenInput(JiraCommand):
    """Run action for each webhook with regex filtering on webhook name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromWebhookListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromWebhookList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromWebhookListGivenCommon(JiraCommand):
    """Run action for each webhook with regex filtering on webhook name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromWebhookListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromWebhookList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromWebhookListGivenFile(JiraCommand):
    """Run action for each webhook with regex filtering on webhook name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromWebhookListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromWebhookList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromWebhookList

# Variants for runFromWorkflowList
@dataclass
class RunFromWorkflowListOptions:
    """Optional parameters for action runFromWorkflowList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromWorkflowListGivenInput(JiraCommand):
    """Run action for each workflow with regex filtering on workflow name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromWorkflowListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromWorkflowList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromWorkflowListGivenCommon(JiraCommand):
    """Run action for each workflow with regex filtering on workflow name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromWorkflowListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromWorkflowList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromWorkflowListGivenFile(JiraCommand):
    """Run action for each workflow with regex filtering on workflow name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromWorkflowListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromWorkflowList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromWorkflowList

# Variants for runFromWorkflowSchemeList
@dataclass
class RunFromWorkflowSchemeListOptions:
    """Optional parameters for action runFromWorkflowSchemeList"""
    regex: str|None = None
    """Regular expression for condition matching or list filtering."""
    limit: str|None = None
    """Maximum number of list entries to return. Some actions or environments may impose a smaller default limit."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromWorkflowSchemeListGivenInput(JiraCommand):
    """Run action for each workflow scheme with regex filtering on workflow scheme name."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromWorkflowSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromWorkflowSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromWorkflowSchemeListGivenCommon(JiraCommand):
    """Run action for each workflow scheme with regex filtering on workflow scheme name."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromWorkflowSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromWorkflowSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromWorkflowSchemeListGivenFile(JiraCommand):
    """Run action for each workflow scheme with regex filtering on workflow scheme name."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromWorkflowSchemeListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromWorkflowSchemeList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromWorkflowSchemeList

# Variants for runFromWorklogList
@dataclass
class RunFromWorklogListOptions:
    """Optional parameters for action runFromWorklogList"""
    issue: str|None = None
    """Issue key."""
    project: str|None = None
    """Project key, or id."""
    team: str|None = None
    """Team name or id."""
    user_id: str|None = None
    """User id"""
    account: str|None = None
    """Account name."""
    from_date: str|None = None
    """Member joining date or worklog filtering date."""
    to_date: str|None = None
    """Member leaving date or worklog filtering date."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    simulate: bool|None = None
    """Simulate running actions. Log the action that would be taken."""
    field: Iterable[str]|str|None = None
    """Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting fields or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""
    clear_file_before_append: bool|None = None
    """For run actions, this option will automatically clear an existing file on the first append requested."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class RunFromWorklogListGivenInput(JiraCommand):
    """Run action for each worklog with filtering the same as getWorklogList. Available replacement variable is worklogId."""
    input: Iterable[str]
    """Line of input used in place of file data for run actions. One or more input parameters are used as lines instead of using the file parameter. In some cases requiring a file parameter, it may be necessary to use a special value of + to indicate to use the input parameters instead."""
    options: RunFromWorklogListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromWorklogList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromWorklogListGivenCommon(JiraCommand):
    """Run action for each worklog with filtering the same as getWorklogList. Available replacement variable is worklogId."""
    common: str
    """Common parameter string added to all actions in the run script."""
    options: RunFromWorklogListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromWorklogList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class RunFromWorklogListGivenFile(JiraCommand):
    """Run action for each worklog with filtering the same as getWorklogList. Available replacement variable is worklogId."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: RunFromWorklogListOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "runFromWorklogList"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for runFromWorklogList

# Variants for setBoardAdministrators

@dataclass
class SetBoardAdministratorsGivenBoardAndUserId(JiraCommand):
    """Set users and groups as board administrators replacing any previously configured administrators. Both userId and group can be specified as a comma separated list."""
    board: str
    """Board name or id."""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "setBoardAdministrators"

@dataclass
class SetBoardAdministratorsGivenBoardAndGroup(JiraCommand):
    """Set users and groups as board administrators replacing any previously configured administrators. Both userId and group can be specified as a comma separated list."""
    board: str
    """Board name or id."""
    group: str
    """Group name. For some actions addUser, a comma separated list of group names."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "setBoardAdministrators"

# End Variants for setBoardAdministrators

# Variants for setEntityProperty

@dataclass
class SetEntityPropertyGivenIssueAndNameAndValue(JiraCommand):
    """Set an entity property value for an issue or project. Value must be valid JSON."""
    issue: str
    """Issue key or id."""
    name: str
    """Name of an item or entity."""
    value: str
    """Field value or condition value for matching."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "setEntityProperty"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

@dataclass
class SetEntityPropertyGivenProjectAndNameAndValue(JiraCommand):
    """Set an entity property value for an issue or project. Value must be valid JSON."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    name: str
    """Name of an item or entity."""
    value: str
    """Field value or condition value for matching."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "setEntityProperty"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for setEntityProperty

# Variants for setFieldValue
@dataclass
class SetFieldValueOptions:
    """Optional parameters for action setFieldValue"""
    field2: str|None = None
    """Deprecated. Field name or id for a custom field."""
    values2: str|None = None
    """Deprecated. Comma separated list of field values. Single quote values containing commas."""
    suppress_notify: bool|None = None
    """Suppress notifying users when an issue is updated. In a few cases, may only be supported on Cloud or later versions of Server."""
    append_text: bool|None = None
    """Append text to existing value text for description, environment, and single and multi-value custom fields."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    subtract: bool|None = None
    """Subtract values from existing values custom fields supporting multiple values."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class SetFieldValueGivenIssueAndFieldAndFile(JiraCommand):
    """Set field value for an issue. Use appendText to append the value to text field. Use append or subtract to have an array field modified by taking the current value and adding or removing the value specified."""
    issue: str
    """Issue key or id."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    file: str
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    options: SetFieldValueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "setFieldValue"

@dataclass
class SetFieldValueGivenIssueAndFieldAndValue(JiraCommand):
    """Set field value for an issue. Use appendText to append the value to text field. Use append or subtract to have an array field modified by taking the current value and adding or removing the value specified."""
    issue: str
    """Issue key or id."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    value: str
    """Field value or condition value for matching."""
    options: SetFieldValueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "setFieldValue"

@dataclass
class SetFieldValueGivenIssueAndFieldAndValues(JiraCommand):
    """Set field value for an issue. Use appendText to append the value to text field. Use append or subtract to have an array field modified by taking the current value and adding or removing the value specified."""
    issue: str
    """Issue key or id."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    values: str
    """Deprecated. Comma separated list of field values. Single quote values containing commas."""
    options: SetFieldValueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "setFieldValue"

# End Variants for setFieldValue

# Variants for setReplacementVariables
@dataclass
class SetReplacementVariablesOptions:
    """Optional parameters for action setReplacementVariables"""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    issue: str|None = None
    """Issue key or id."""

@dataclass
class SetReplacementVariables(JiraCommand):
    """Set one or more replacement variables specified using field parameters with name=value syntax or loaded from a property file. Value specified replaces any previously set variable with the same name including values set by other actions that set replacement variables. This is an example to save a previously set value: --field myIssue=@issue@. Find and replace logic is applied to the value before setting the variable providing a way to manipulate values in a script. Variables are available only within the scope of the run script they were set in. Use the issue parameter to set replacement variables from issue related substitution variables."""
    options: SetReplacementVariablesOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "setReplacementVariables"

# End Variants for setReplacementVariables

# Variants for setShareScope

@dataclass
class SetShareScope(JiraCommand):
    """Set current users default share scope for filters. Valid values are GLOBAL and PRIVATE."""
    value: str
    """Field value or condition value for matching."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "setShareScope"

# End Variants for setShareScope

# Variants for startSprint
@dataclass
class StartSprintOptions:
    """Optional parameters for action startSprint"""
    start_date: str|None = None
    """Start date of sprint."""
    end_date: str|None = None
    """End date of sprint."""

@dataclass
class StartSprint(JiraCommand):
    """To start a sprint. Use the sprint parameter for the sprint name or id."""
    sprint: str
    """Sprint name or id."""
    options: StartSprintOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "startSprint"

# End Variants for startSprint

# Variants for transitionIssue
@dataclass
class TransitionIssueOptions:
    """Optional parameters for action transitionIssue"""
    issue_type: str|None = None
    """Issue type - name or id."""
    type: str|None = None
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    summary: str|None = None
    """Summary of issue."""
    resolution: str|None = None
    """Resolution name or id."""
    labels: str|None = None
    """A blank separated list of all global labels with regex filtering on label."""
    priority: str|None = None
    """Issue priority - name or id."""
    reporter: str|None = None
    """Issue reporter user id."""
    assignee: str|None = None
    """Issue assignee user id. In some contexts, use -1 for automatic assignment and "" for unassigned."""
    description: str|None = None
    """Description."""
    components: str|None = None
    """Project components - comma separated names or ids."""
    affects_versions: str|None = None
    """Affects versions - comma separated names or ids."""
    fix_versions: str|None = None
    """Fix versions - comma separated names or ids."""
    environment: str|None = None
    """Issue environment."""
    security: str|None = None
    """Issue security level name or id."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    value: str|None = None
    """Field value or condition value for matching."""
    lookup: bool|None = None
    """Lookup userId via search and validate. An error is reported if search does not return a single user."""
    date: str|None = None
    """Release date for version or due date for issue."""
    auto_version: bool|None = None
    """Automatically add versions used in affectsVersions and fixVersions parameters."""
    auto_component: bool|None = None
    """Automatically add components used in components parameter."""
    comment: str|None = None
    """Comment text."""
    group: str|None = None
    """Group name. In the case of addUser, a comma separated list of group names."""
    role: str|None = None
    """User role in project"""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class TransitionIssue(JiraCommand):
    """Transition issue through workflow."""
    issue: str
    """Issue key or id."""
    transition: str
    """Workflow transition - name or id."""
    continue_: bool
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    options: TransitionIssueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "transitionIssue"

# End Variants for transitionIssue

# Variants for unarchiveComponent

@dataclass
class UnarchiveComponent(JiraCommand):
    """Unarchive a component for a project."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    component: str
    """Project component name or id."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "unarchiveComponent"

# End Variants for unarchiveComponent

# Variants for unarchiveIssue
@dataclass
class UnarchiveIssueOptions:
    """Optional parameters for action unarchiveIssue"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    suppress_notify: bool|None = None
    """Suppress notifying users when an issue is updated. In a few cases, may only be supported on Cloud or later versions of Server."""

@dataclass
class UnarchiveIssue(JiraCommand):
    """Unarchive an issue. Use continue to ignore errors when the issue is already in the correct state. Note that subtasks are unarchived when their parent is unarchived."""
    issue: str
    """Issue key or id."""
    options: UnarchiveIssueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "unarchiveIssue"

# End Variants for unarchiveIssue

# Variants for unarchiveProject
@dataclass
class UnarchiveProjectOptions:
    """Optional parameters for action unarchiveProject"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class UnarchiveProject(JiraCommand):
    """Unarchive a project. Use continue to ignore errors when the project is already in the correct state."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: UnarchiveProjectOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "unarchiveProject"
    @staticmethod
    def has_replacement_vars() -> bool:
        return True

# End Variants for unarchiveProject

# Variants for unarchiveVersion
@dataclass
class UnarchiveVersionOptions:
    """Optional parameters for action unarchiveVersion"""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class UnarchiveVersion(JiraCommand):
    """Unarchive a version for a project. This makes the version visible again in the UI. Use continue to ignore error when the version is already in the correct state."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    version: str
    """Project version name or id or app version."""
    options: UnarchiveVersionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "unarchiveVersion"

# End Variants for unarchiveVersion

# Variants for uninstallApp
@dataclass
class UninstallAppOptions:
    """Optional parameters for action uninstallApp"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class UninstallApp(JiraCommand):
    """Uninstall the app. If @default is specified, an attempt will be made to find an appropriate value by looking for an Atlassian app descriptor file with the value specified."""
    app: str
    """App key. In some cases, app name can be used as well."""
    options: UninstallAppOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "uninstallApp"

# End Variants for uninstallApp

# Variants for unreleaseVersion
@dataclass
class UnreleaseVersionOptions:
    """Optional parameters for action unreleaseVersion"""
    date: str|None = None
    """Release date for version or due date for issue."""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class UnreleaseVersion(JiraCommand):
    """Unrelease a version for a project, optionally reset release date. Use continue to ignore error when the version is already in the correct state."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    version: str
    """Project version name or id or app version."""
    options: UnreleaseVersionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "unreleaseVersion"

# End Variants for unreleaseVersion

# Variants for updateAccount
@dataclass
class UpdateAccountOptions:
    """Optional parameters for action updateAccount"""
    name: str|None = None
    """Name of an item or entity."""
    lead: str|None = None
    """Team lead user id."""
    customer: str|None = None
    """Customer key or name."""
    contact: str|None = None
    """Contact name."""
    category: str|None = None
    """Category name or id."""
    status: str|None = None
    """Account status like OPEN, CLOSED, or ARCHIVED."""

@dataclass
class UpdateAccountGivenAccount(JiraCommand):
    """Update account information."""
    account: str
    """Account name."""
    options: UpdateAccountOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateAccount"

@dataclass
class UpdateAccountGivenId(JiraCommand):
    """Update account information."""
    id: str
    """Numeric id of an item."""
    options: UpdateAccountOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateAccount"

# End Variants for updateAccount

# Variants for updateBoard
@dataclass
class UpdateBoardOptions:
    """Optional parameters for action updateBoard"""
    name: str|None = None
    """Name of an item or entity."""
    filter: str|None = None
    """Filter name or id."""
    jql: str|None = None
    """JQL query. Standard way to specify a search for issues."""
    subquery: str|None = None
    """Kanban board sub-filter. Provide further filtering of issues for unreleased work."""
    estimation: str|None = None
    """Scrum board issue estimation statistic."""
    tracking: str|None = None
    """Scrum board time tracking. Provide way to track time against issues."""

@dataclass
class UpdateBoard(JiraCommand):
    """Update the board configuration including name, filter, jql, subquery, estimation and time tracking. Use the estimation parameter for issue estimation statistic. Use the tracking parameter for issue time tracking. Set the tracking parameter to 'None' or @default to track issues with estimation statistic field. Set the tracking parameter to 'Remaining Estimate and Time Spent' or 'Remaining Time Estimate' to track issues with Jira's Remaining Estimate and Time Spent fields. No other values are supported for the tracking parameter."""
    board: str
    """Board name or id."""
    options: UpdateBoardOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateBoard"

# End Variants for updateBoard

# Variants for updateBoardCard
@dataclass
class UpdateBoardCardOptions:
    """Optional parameters for action updateBoardCard"""
    field: Iterable[str]|str|None = None
    """Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting fields or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    card_type: str|None = None
    """Board card type. For kanban boards, it will be kanban board card. For scrum boards, it can be backlog card or active sprint card."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class UpdateBoardCard(JiraCommand):
    """Update the board card configurations. Use this action to config the board card layout. Use the field parameter to update the list of extra fields shown in the card. Up to three extra fields are allowed. Use the cardType parameter to specify the card to update. For a kanban board, there is only one kanban board card type. The value of the cardType parameter will be defaulted to this type. For a scrum board, there are backlog card and active sprint card types. Set the cardType parameter to '@default' or 'sprint' to update the active sprint card. Set the cardType parameter to 'backlog' to update the backlog card. Set the cardType parameter to '@all' to update both cards together. Use '--options enableDaysInColumn' and '--options disableDaysInColumn' to enable and disable the 'Days in Column' visual indicator."""
    board: str
    """Board name or id."""
    options: UpdateBoardCardOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateBoardCard"

# End Variants for updateBoardCard

# Variants for updateBoardColumn
@dataclass
class UpdateBoardColumnOptions:
    """Optional parameters for action updateBoardColumn"""
    name: str|None = None
    """Name of an item or entity."""
    status: str|None = None
    """Board column status like to do, in progress, resolved."""

@dataclass
class UpdateBoardColumn(JiraCommand):
    """Update the board column including name and status. The status parameter is a comma separated list of status names or ids."""
    board: str
    """Board name or id."""
    column: str
    """Board column name or id."""
    options: UpdateBoardColumnOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateBoardColumn"

# End Variants for updateBoardColumn

# Variants for updateCategory
@dataclass
class UpdateCategoryOptions:
    """Optional parameters for action updateCategory"""
    name: str|None = None
    """Name of an item or entity."""

@dataclass
class UpdateCategoryGivenId(JiraCommand):
    """Update category information."""
    id: str
    """Numeric id of an item."""
    options: UpdateCategoryOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateCategory"

@dataclass
class UpdateCategoryGivenCategory(JiraCommand):
    """Update category information."""
    category: str
    """Category name or id."""
    options: UpdateCategoryOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateCategory"

# End Variants for updateCategory

# Variants for updateComment
@dataclass
class UpdateCommentOptions:
    """Optional parameters for action updateComment"""
    comment: str|None = None
    """Comment text."""
    group: str|None = None
    """Group name. In the case of addUser, a comma separated list of group names."""
    role: str|None = None
    """User role in project"""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class UpdateComment(JiraCommand):
    """Update an existing comment to an issue. Use @commentBody@ replacement variable if needed when replacing the comment body."""
    issue: str
    """Issue key or id."""
    options: UpdateCommentOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateComment"

# End Variants for updateComment

# Variants for updateComponent
@dataclass
class UpdateComponentOptions:
    """Optional parameters for action updateComponent"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""
    lead: str|None = None
    """Project lead user id. Use "@self" to have the lead assigned to the current ACLI user."""
    default_assignee: str|None = None
    """Project or component default assignee for issues. For projects, default is unassigned with options: PROJECT_LEAD or UNASSIGNED (blank). For components, default is PROJECT_DEFAULT with options: PROJECT_LEAD, PROJECT_DEFAULT, COMPONENT_LEAD or UNASSIGNED (blank)."""

@dataclass
class UpdateComponent(JiraCommand):
    """Update component for a project."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    component: str
    """Project component name or id."""
    options: UpdateComponentOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateComponent"

# End Variants for updateComponent

# Variants for updateCustomField
@dataclass
class UpdateCustomFieldOptions:
    """Optional parameters for action updateCustomField"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""
    search: str|None = None
    """For custom field actions, search represents the search key. Search is no longer recognized for issue lists - use jql instead."""

@dataclass
class UpdateCustomField(JiraCommand):
    """Update name, description, searcherKey of a custom field context."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options: UpdateCustomFieldOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateCustomField"

# End Variants for updateCustomField

# Variants for updateCustomFieldContext
@dataclass
class UpdateCustomFieldContextOptions:
    """Optional parameters for action updateCustomFieldContext"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""
    issue_type: str|None = None
    """Issue type - name or id."""
    project: str|None = None
    """Project name, key, or id. Creation requests need a valid project key."""

@dataclass
class UpdateCustomFieldContext(JiraCommand):
    """Update name, description, issue types or projects of a custom field context. Note the values of the project parameter will fully replace the exiting associated projects. To add context to some projects, use addCustomFieldContextToProject action. To remove context from some projects, use removeCustomFieldContextFromProject action."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    context: str
    """Custom field context."""
    options: UpdateCustomFieldContextOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateCustomFieldContext"

# End Variants for updateCustomFieldContext

# Variants for updateCustomFieldOptions
@dataclass
class UpdateCustomFieldOptionsCommandOptions:
    """Optional parameters for action updateCustomFieldOptions"""
    context: str|None = None
    """Custom field context."""

@dataclass
class UpdateCustomFieldOptionsCommand(JiraCommand):
    """Update name or cascade options to a custom field that has field type option or option-with-child. This includes select, cascade select, and radio button custom types."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    options_: Iterable[str]
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""
    options: UpdateCustomFieldOptionsCommandOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateCustomFieldOptions"

# End Variants for updateCustomFieldOptions

# Variants for updateCustomer
@dataclass
class UpdateCustomerOptions:
    """Optional parameters for action updateCustomer"""
    name: str|None = None
    """Name of an item or entity."""

@dataclass
class UpdateCustomerGivenId(JiraCommand):
    """Update customer information. Use customer numeric id if you want to update the customer key."""
    id: str
    """Numeric id of an item."""
    options: UpdateCustomerOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateCustomer"

@dataclass
class UpdateCustomerGivenCustomer(JiraCommand):
    """Update customer information. Use customer numeric id if you want to update the customer key."""
    customer: str
    """Customer key or name."""
    options: UpdateCustomerOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateCustomer"

# End Variants for updateCustomer

# Variants for updateFieldConfiguration
@dataclass
class UpdateFieldConfigurationOptions:
    """Optional parameters for action updateFieldConfiguration"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""

@dataclass
class UpdateFieldConfigurationGivenFieldConfiguration(JiraCommand):
    """Update a field configuration. The name of the field configuration must be unique."""
    field_configuration: str
    """Field configuration name or id. Use @default for default field configuration."""
    options: UpdateFieldConfigurationOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateFieldConfiguration"

@dataclass
class UpdateFieldConfigurationGivenId(JiraCommand):
    """Update a field configuration. The name of the field configuration must be unique."""
    id: str
    """Numeric id of an item."""
    options: UpdateFieldConfigurationOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateFieldConfiguration"

# End Variants for updateFieldConfiguration

# Variants for updateFieldConfigurationScheme
@dataclass
class UpdateFieldConfigurationSchemeOptions:
    """Optional parameters for action updateFieldConfigurationScheme"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""

@dataclass
class UpdateFieldConfigurationSchemeGivenFieldConfigurationScheme(JiraCommand):
    """Update a field configuration scheme. The name of the field configuration scheme must be unique."""
    field_configuration_scheme: str
    """Field configuration scheme name or id. Use @default for default scheme."""
    options: UpdateFieldConfigurationSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateFieldConfigurationScheme"

@dataclass
class UpdateFieldConfigurationSchemeGivenId(JiraCommand):
    """Update a field configuration scheme. The name of the field configuration scheme must be unique."""
    id: str
    """Numeric id of an item."""
    options: UpdateFieldConfigurationSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateFieldConfigurationScheme"

# End Variants for updateFieldConfigurationScheme

# Variants for updateFilter
@dataclass
class UpdateFilterOptions:
    """Optional parameters for action updateFilter"""
    name: str|None = None
    """Name of an item or entity."""
    jql: str|None = None
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    description: str|None = None
    """Description."""
    favorite: bool|None = None
    """Mark a filter as a favorite when creating or updating a filter."""

@dataclass
class UpdateFilterGivenId(JiraCommand):
    """Update a filter by id or filter name (if it is a favorite filter)."""
    id: str
    """Numeric id of an item."""
    options: UpdateFilterOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateFilter"

@dataclass
class UpdateFilterGivenFilter(JiraCommand):
    """Update a filter by id or filter name (if it is a favorite filter)."""
    filter: str
    """Filter id or filter name (must be a favorite filter on server). Filter is no longer recognized for issue lists - use jql instead. For instance --jql "filter = 'my filter'"."""
    options: UpdateFilterOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateFilter"

# End Variants for updateFilter

# Variants for updateIssue
@dataclass
class UpdateIssueOptions:
    """Optional parameters for action updateIssue"""
    issue_type: str|None = None
    """Issue type - name or id."""
    type: str|None = None
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    summary: str|None = None
    """Summary of issue."""
    resolution: str|None = None
    """Resolution name or id."""
    labels: str|None = None
    """A blank separated list of all global labels with regex filtering on label."""
    priority: str|None = None
    """Issue priority - name or id."""
    reporter: str|None = None
    """Issue reporter user id."""
    assignee: str|None = None
    """Issue assignee user id. In some contexts, use -1 for automatic assignment and "" for unassigned."""
    description: str|None = None
    """Description."""
    components: str|None = None
    """Project components - comma separated names or ids."""
    affects_versions: str|None = None
    """Affects versions - comma separated names or ids."""
    fix_versions: str|None = None
    """Fix versions - comma separated names or ids."""
    environment: str|None = None
    """Issue environment."""
    security: str|None = None
    """Issue security level name or id."""
    field: Iterable[str]|str|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    value: str|None = None
    """Field value or condition value for matching."""
    lookup: bool|None = None
    """Lookup userId via search and validate. An error is reported if search does not return a single user."""
    date: str|None = None
    """Release date for version or due date for issue."""
    auto_version: bool|None = None
    """Automatically add versions used in affectsVersions and fixVersions parameters."""
    auto_component: bool|None = None
    """Automatically add components used in components parameter."""
    estimate: str|None = None
    """Estimate of time remaining for an issue. Example: 3h 30m."""
    original_estimate: str|None = None
    """Original estimate of time to complete work for an issue. Example: 3h 30m."""
    append: bool|None = None
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. For some actions using the file parameter, append will append output to the existing file."""
    append_text: bool|None = None
    """Append text to existing value text for description, environment, and single and multi-value custom fields."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""
    suppress_notify: bool|None = None
    """Suppress notifying users when an issue is updated. In a few cases, may only be supported on Cloud or later versions of Server."""
    comment: str|None = None
    """Comment text."""
    group: str|None = None
    """Group name. In the case of addUser, a comma separated list of group names."""
    role: str|None = None
    """User role in project"""
    find_replace: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    find_replace_regex: Iterable[str]|str|None = None
    """Successively find and replace matching text with the find and replace values specified using find:replace syntax. The first colon (:) delineates the find value from the replace value. Single quote values containing a colon and then escape embedded quotes. The find value must be a valid regular regular expression and the replace value can contain replacement variables for capture groups like $1, $2, and so on. For some command shells, the $ may need to be escaped. Legacy support for a comma separated list deprecated in 9.0 has been removed in 9.3. You must now always use multiple parameters."""
    file: str|None = None
    """Path to file based content or result output. For some action it may be a directory path. Use - for standard input. Use + for getting lines from 'input' parameters (deprecated)."""
    encoding: str|None = None
    """Character encoding (character set) for text based file content - must be an encoding supported by your Java platform."""

@dataclass
class UpdateIssue(JiraCommand):
    """Update an existing issue with similar parameter handling as createIssue. Use appendText to append the parameter value for the description and environment fields. Use append to modify the fix versions or affects versions fields by their respective values."""
    issue: str
    """Issue key or id."""
    options: UpdateIssueOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateIssue"

# End Variants for updateIssue

# Variants for updateIssueType
@dataclass
class UpdateIssueTypeOptions:
    """Optional parameters for action updateIssueType"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""

@dataclass
class UpdateIssueType(JiraCommand):
    """Update name or description of an issue type."""
    issue_type: str
    """Issue type - name or id."""
    options: UpdateIssueTypeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateIssueType"

# End Variants for updateIssueType

# Variants for updateIssueTypeScheme
@dataclass
class UpdateIssueTypeSchemeOptions:
    """Optional parameters for action updateIssueTypeScheme"""
    description: str|None = None
    """Description."""
    issue_type: str|None = None
    """Issue type - name or id."""
    default_issue_type: str|None = None
    """When you create or update an issue type scheme, use this parameter to provide the default issue type. When you delete an issue type, use this parameter as the replacement issue type for issues using the deleted issue type."""

@dataclass
class UpdateIssueTypeScheme(JiraCommand):
    """Similar to createIssueTypeScheme. Use the issueTypeScheme parameter to identify an existing scheme to update and the name parameter to provide a new name if desired. The issueType parameter is a comma separated list of issue type names or ids that are added to the scheme. Use @all to add all available issue types to the scheme. Use the defaultIssueType parameter to set the default issue type for the scheme."""
    issue_type_scheme: str
    """Issue type scheme name or id. Use @default for default scheme."""
    options: UpdateIssueTypeSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateIssueTypeScheme"

# End Variants for updateIssueTypeScheme

# Variants for updateLinkType

@dataclass
class UpdateLinkTypeGivenLinkAndName(JiraCommand):
    """Update an issue link type. Use the link parameter for the link type. Use the name parameter to set new name. Provide the updated outward and inward descriptions by specifying a comma separated list of values in the description parameter."""
    link: str
    """Link description. Usually link type name for local links and relationship description for remote links. The link id can also be used for both linkIssue and deleteLink."""
    name: str
    """Name of an item or entity."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateLinkType"

@dataclass
class UpdateLinkTypeGivenLinkAndDescription(JiraCommand):
    """Update an issue link type. Use the link parameter for the link type. Use the name parameter to set new name. Provide the updated outward and inward descriptions by specifying a comma separated list of values in the description parameter."""
    link: str
    """Link description. Usually link type name for local links and relationship description for remote links. The link id can also be used for both linkIssue and deleteLink."""
    description: str
    """Description."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateLinkType"

# End Variants for updateLinkType

# Variants for updateNotificationScheme
@dataclass
class UpdateNotificationSchemeOptions:
    """Optional parameters for action updateNotificationScheme"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""

@dataclass
class UpdateNotificationScheme(JiraCommand):
    """Update a notification scheme. The name of the notification scheme must be unique."""
    notification_scheme: str
    """Notification scheme name or id."""
    options: UpdateNotificationSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateNotificationScheme"

# End Variants for updateNotificationScheme

# Variants for updatePermissionScheme
@dataclass
class UpdatePermissionSchemeOptions:
    """Optional parameters for action updatePermissionScheme"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""

@dataclass
class UpdatePermissionSchemeGivenPermissionScheme(JiraCommand):
    """Update a permission scheme by name or id."""
    permission_scheme: str
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    options: UpdatePermissionSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updatePermissionScheme"

@dataclass
class UpdatePermissionSchemeGivenId(JiraCommand):
    """Update a permission scheme by name or id."""
    id: str
    """Numeric id of an item."""
    options: UpdatePermissionSchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updatePermissionScheme"

# End Variants for updatePermissionScheme

# Variants for updatePriorityScheme
@dataclass
class UpdatePrioritySchemeOptions:
    """Optional parameters for action updatePriorityScheme"""
    description: str|None = None
    """Description."""
    priorities: str|None = None
    """Ordered, comma separated list of global priority names or ids."""
    default_priority: str|None = None
    """Priority name or id for setting the default priority for a priority scheme."""

@dataclass
class UpdatePrioritySchemeGivenPrioritySchemeAndName(JiraCommand):
    """Update a priority scheme by name or id."""
    priority_scheme: str
    """Priority scheme name or id. Use @default for the default scheme."""
    name: str
    """Name of an item or entity."""
    options: UpdatePrioritySchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updatePriorityScheme"

@dataclass
class UpdatePrioritySchemeGivenPrioritySchemeAndId(JiraCommand):
    """Update a priority scheme by name or id."""
    priority_scheme: str
    """Priority scheme name or id. Use @default for the default scheme."""
    id: str
    """Numeric id of an item."""
    options: UpdatePrioritySchemeOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updatePriorityScheme"

# End Variants for updatePriorityScheme

# Variants for updateProject
@dataclass
class UpdateProjectOptions:
    """Optional parameters for action updateProject"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""
    lead: str|None = None
    """Project lead user id. Use "@self" to have the lead assigned to the current ACLI user."""
    url: str|None = None
    """Action specific setting. URL or partial URL for renderRequest. Database access URL for SQL related actions. URL for application link related actions."""
    default_assignee: str|None = None
    """Project or component default assignee for issues. For projects, default is unassigned with options: PROJECT_LEAD or UNASSIGNED (blank). For components, default is PROJECT_DEFAULT with options: PROJECT_LEAD, PROJECT_DEFAULT, COMPONENT_LEAD or UNASSIGNED (blank)."""
    type: str|None = None
    """Issue type (alternative to issueType), custom field type, link type, transition function type, application link type, project type, board type, and permission holder type (for instance --type "Application access" --value "Jira Software")."""
    permission_scheme: str|None = None
    """Permission scheme name or id. In most cases, you can use @default to get the system default permission scheme."""
    notification_scheme: str|None = None
    """Notification scheme name or id."""
    issue_security_scheme: str|None = None
    """Issue security scheme name or id."""
    workflow_scheme: str|None = None
    """Workflow scheme name or id. Use @default for default scheme."""
    priority_scheme: str|None = None
    """Priority scheme name or id. Use @default for the default scheme."""
    issue_type_scheme: str|None = None
    """Issue type scheme name or id. Use @default for default scheme."""
    issue_type_screen_scheme: str|None = None
    """Issue type screen scheme name or id. Use @default for default scheme."""
    field_configuration_scheme: str|None = None
    """Field configuration scheme name or id. Use @default for default scheme."""
    category: str|None = None
    """Project category. Administrator access required to see or use project categories."""

@dataclass
class UpdateProject(JiraCommand):
    """Update project information. Scheme updates require compatible schemes. Jira provides defaults for some scheme types and in those cases you can use blank to change the project to use the default scheme."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    options: UpdateProjectOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateProject"

# End Variants for updateProject

# Variants for updateProjectCategory
@dataclass
class UpdateProjectCategoryOptions:
    """Optional parameters for action updateProjectCategory"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""

@dataclass
class UpdateProjectCategory(JiraCommand):
    """Update a project category with a new name or description."""
    category: str
    """Project category. Administrator access required to see or use project categories."""
    options: UpdateProjectCategoryOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateProjectCategory"

# End Variants for updateProjectCategory

# Variants for updateProjectRole
@dataclass
class UpdateProjectRoleOptions:
    """Optional parameters for action updateProjectRole"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""

@dataclass
class UpdateProjectRole(JiraCommand):
    """Update a global project role."""
    role: str
    """User role in project"""
    options: UpdateProjectRoleOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateProjectRole"

# End Variants for updateProjectRole

# Variants for updateQuickFilter
@dataclass
class UpdateQuickFilterOptions:
    """Optional parameters for action updateQuickFilter"""
    name: str|None = None
    """Name of an item or entity."""
    jql: str|None = None
    """JQL query. Standard way to specify a search for issues."""
    description: str|None = None
    """Description."""

@dataclass
class UpdateQuickFilter(JiraCommand):
    """Update a quick filter for a board. You can update the filter name, description, or JQL."""
    board: str
    """Board name or id."""
    filter: str
    """Filter name or id."""
    options: UpdateQuickFilterOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateQuickFilter"

# End Variants for updateQuickFilter

# Variants for updateScreen
@dataclass
class UpdateScreenOptions:
    """Optional parameters for action updateScreen"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class UpdateScreen(JiraCommand):
    """Update the name or description of a screen. Use this action to update screen. Use required parameter screen to specify which screen you want to update. You can provide id or name, but id is strongly recommended for best performance."""
    screen: str
    """Transition screen name."""
    options: UpdateScreenOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateScreen"

# End Variants for updateScreen

# Variants for updateScreenField
@dataclass
class UpdateScreenFieldOptions:
    """Optional parameters for action updateScreenField"""
    continue_: bool|None = None
    """Continue processing even after errors are encountered for run actions. Also used for some action to ignore certain errors like not found errors on remove actions and already exists errors on add actions."""

@dataclass
class UpdateScreenField(JiraCommand):
    """Update the position of screen field. Use this action to reorder a field on screen. Use required parameter screen to specify screen. Use required parameter field to specify the field. It is strongly recommended to provide id rather than name for screen. Use the after after to specify a field's new position. Valid values for after are @FIRST, @LAST or id/name of a specific field you want to put the field after."""
    screen: str
    """Transition screen name."""
    field: Iterable[str]
    """For field value and custom field actions, this must be single field name or id. For issue related actions, the parameter can be specified multiple times for setting custom field values as a more convenient alternative to the custom parameter. Additionally for custom fields, JSON can be used. See the documentation for more details on this advanced use case. The following common client field parameter support applies. Use to set client and construct specific fields or variables using name=value syntax. The first equal sign (=) delineates the name from it's value. This provides a more convenient and expandable alternative for setting field or variables and is the recommended approach. Values are trimmed unless single quoted and single quoted strings will have single quotes removed."""
    after: str
    """Version name or id to add a version after. Defaults to after last version. Use -1 to make it the first version."""
    options: UpdateScreenFieldOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateScreenField"

# End Variants for updateScreenField

# Variants for updateScreenTab
@dataclass
class UpdateScreenTabOptions:
    """Optional parameters for action updateScreenTab"""
    name: str|None = None
    """Name of an item or entity."""
    after: str|None = None
    """Version name or id to add a version after. Defaults to after last version. Use -1 to make it the first version."""

@dataclass
class UpdateScreenTab(JiraCommand):
    """Update name or position of Screen Tab. Use required parameter screen to specify screen of the tab. Use required parameter tab to specify the tab. It is strongly recommended to provide id rather than name for screen. Use parameter name to set new name for the tab. Use the after parameter to reset the new tab. Valid values for the after are @FIRST, @LAST or id/name of a specific tab you want to put the tab after."""
    screen: str
    """Transition screen name."""
    tab: str
    """Screen tab."""
    options: UpdateScreenTabOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateScreenTab"

# End Variants for updateScreenTab

# Variants for updateSprint
@dataclass
class UpdateSprintOptions:
    """Optional parameters for action updateSprint"""
    state: str|None = None
    """Sprint state like future, active, closed."""
    name: str|None = None
    """Name of an item or entity."""
    start_date: str|None = None
    """Start date of sprint."""
    end_date: str|None = None
    """End date of sprint."""

@dataclass
class UpdateSprint(JiraCommand):
    """Update sprint details. Use this action to update sprint details including name, state, start date and end date. Supported states are ACTIVE, FUTURE and CLOSED. Use the sprint parameter for the sprint name or id."""
    sprint: str
    """Sprint name or id."""
    options: UpdateSprintOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateSprint"

# End Variants for updateSprint

# Variants for updateUser
@dataclass
class UpdateUserOptions:
    """Optional parameters for action updateUser"""
    user_full_name: str|None = None
    """User name for user management actions."""
    user_email: str|None = None
    """User email for user management actions. May not be visible for depending on system and user choice."""
    password: str|None = None
    """User password for remote access. Cloud users need to use an API token for almost all cases and the preference is to provide the token with the token parameter. However, for compatibility reasons, we still allow the token to be provided using the password parameter."""
    new_user_id: str|None = None
    """Used to assign a new user id to an existing user."""
    activate: bool|None = None
    """Activate user."""
    deactivate: bool|None = None
    """Deactivate user."""

@dataclass
class UpdateUserGivenUserId(JiraCommand):
    """Update user information or status. Not available for Cloud."""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    options: UpdateUserOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateUser"

@dataclass
class UpdateUserGivenUserKey(JiraCommand):
    """Update user information or status. Not available for Cloud."""
    user_key: str
    """Unique internal identifier for user management. For Cloud, this is the account id."""
    options: UpdateUserOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateUser"

# End Variants for updateUser

# Variants for updateUserProperty
@dataclass
class UpdateUserPropertyOptions:
    """Optional parameters for action updateUserProperty"""
    lookup: bool|None = None
    """Lookup userId via search and validate. An error is reported if search does not return a single user."""

@dataclass
class UpdateUserProperty(JiraCommand):
    """Add or update a user's property."""
    user_id: str
    """User id for user management and other actions. For some actions, a comma separated list of ids. For Cloud, use an account id or a public name."""
    name: str
    """Name of an item or entity."""
    value: str
    """Field value or condition value for matching."""
    options: UpdateUserPropertyOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateUserProperty"

# End Variants for updateUserProperty

# Variants for updateVersion
@dataclass
class UpdateVersionOptions:
    """Optional parameters for action updateVersion"""
    name: str|None = None
    """Name of an item or entity."""
    description: str|None = None
    """Description."""
    after: str|None = None
    """Version name or id to add a version after. Defaults to after last version. Use -1 to make it the first version."""
    date: str|None = None
    """Release date for version or due date for issue."""
    start_date: str|None = None
    """Date version was started. For audit logs, filter entries based on this start date."""
    auto_version: bool|None = None
    """Automatically add versions used in affectsVersions and fixVersions parameters."""

@dataclass
class UpdateVersion(JiraCommand):
    """Update version for a project. The after parameter can be used to position the version similar to the addVersion action."""
    project: str
    """Project name, key, or id. Creation requests need a valid project key."""
    version: str
    """Project version name or id or app version."""
    options: UpdateVersionOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateVersion"

# End Variants for updateVersion

# Variants for updateWebhook
@dataclass
class UpdateWebhookOptions:
    """Optional parameters for action updateWebhook"""
    url: str|None = None
    """Action specific setting. URL or partial URL for renderRequest. Database access URL for SQL related actions. URL for application link related actions."""
    jql: str|None = None
    """JQL query. Standard way to specify a search for issues for getIssueList, runFromIssueList, and similar."""
    events: Iterable[str]|str|None = None
    """Comma separated list of webhook events. Valid events may vary by Jira version, hosting type, or other factors. Consult Atlassian documentation for the latest details. Known events are worklog_created, worklog_updated, worklog_deleted, jira:issue_created, jira:issue_updated, jira:issue_deleted, issuelink_created, issuelink_deleted, comment_created, comment_updated, comment_deleted, attachment_created, attachment_deleted, issue_property_set, issue_property_deleted, project_created, project_updated, project_deleted, jira:version_released, jira:version_unreleased, jira:version_created, jira:version_moved, jira:version_updated, jira:version_merged, jira:version_deleted, user_created, user_deleted, user_updated, option_voting_changed, option_watching_changed, option_unassigned_issues_changed, option_subtasks_changed, option_attachments_changed, option_issuelinks_changed, option_timetracking_changed, option_timetracking_provider_changed, board_created, board_deleted, board_updated, board_configuration_changed, sprint_created, sprint_deleted, sprint_updated, sprint_started, sprint_closed."""
    options_: Iterable[str]|str|None = None
    """Client or action specific advanced options. Use multiple times for multiple option settings or a comma separated list."""

@dataclass
class UpdateWebhookGivenId(JiraCommand):
    """Update an existing user defined webhook. Use '--options enable' or '--options disable' to change the status of the webhook. Use '--options excludeBody' or '--options includeBody' to change the setting on whether or not the webhook should send a payload body."""
    id: str
    """Numeric id of an item."""
    options: UpdateWebhookOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateWebhook"

@dataclass
class UpdateWebhookGivenName(JiraCommand):
    """Update an existing user defined webhook. Use '--options enable' or '--options disable' to change the status of the webhook. Use '--options excludeBody' or '--options includeBody' to change the setting on whether or not the webhook should send a payload body."""
    name: str
    """Name of an item or entity."""
    options: UpdateWebhookOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateWebhook"

# End Variants for updateWebhook

# Variants for updateWork
@dataclass
class UpdateWorkOptions:
    """Optional parameters for action updateWork"""
    time_spent: str|None = None
    """Time spent on work. Example: 3h 30m."""
    comment: str|None = None
    """Comment text."""
    date: str|None = None
    """Release date for version or due date for issue."""
    estimate: str|None = None
    """Estimate of time remaining for an issue. Example: 3h 30m."""
    role: str|None = None
    """User role in project"""
    group: str|None = None
    """Group name. In the case of addUser, a comma separated list of group names."""
    auto_adjust: bool|None = None
    """Auto adjust remaining estimate when adding work entry."""
    suppress_notify: bool|None = None
    """Suppress notifying users when an issue is updated. In a few cases, may only be supported on Cloud or later versions of Server."""

@dataclass
class UpdateWork(JiraCommand):
    """Update work log entry. Only Cloud supports suppressNotify."""
    id: str
    """Numeric id of an item."""
    issue: str
    """Issue key or id."""
    options: UpdateWorkOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateWork"

# End Variants for updateWork

# Variants for updateWorklog
@dataclass
class UpdateWorklogOptions:
    """Optional parameters for action updateWorklog"""
    time_spent: str|None = None
    """Time spent on work. Example: 3h 30m."""
    comment: str|None = None
    """Comment text."""
    billing_time_spent: str|None = None
    """Time spent on work. Example: 3h 30m."""
    date: str|None = None
    """Worklog date."""
    estimate: str|None = None
    """Estimate of time remaining for an issue. Example: 3h 30m."""

@dataclass
class UpdateWorklog(JiraCommand):
    """Update a work log entry."""
    id: str
    """Numeric id of an item."""
    options: UpdateWorklogOptions | None = None
    """ Action specific options """
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "updateWorklog"

# End Variants for updateWorklog

# Variants for validateLicense

@dataclass
class ValidateLicense(JiraCommand):
    """Validates the ACLI Connector is enabled and licensed on the server."""
    logging_options: LoggingOptions | None = None
    """ Logging options """
    common_options: CommonOptions | None = None
    """ Common options """

    @staticmethod
    def action():
        return "validateLicense"

# End Variants for validateLicense
