Variable: Buttons
const Buttons: object;
Button component IDs used in interactive messages.
Each button ID is prefixed with the namespace to ensure uniqueness across all plugins and prevent conflicts with other components.
Type declaration
AddAssigneeMapping
readonly AddAssigneeMapping: object;
Button to open an ephemeral message with selects for adding a new assignee mapping.
When clicked, this button shows an ephemeral message with both a Jira assignee select and Discord user select. The mapping is created automatically when both are selected.
AddAssigneeMapping.id
readonly id: string;
AddColumnMapping
readonly AddColumnMapping: object;
Button to open an ephemeral message with selects for adding a new column mapping.
When clicked, this button shows an ephemeral message with both a provider status select and column select. The mapping is created automatically when both are selected.
AddColumnMapping.id
readonly id: string;
CancelSync
readonly CancelSync: object;
Base ID for the cancel sync button.
The full custom ID is constructed as ${id}-${syncId} so each active sync can be
uniquely identified. Clicking this button aborts the sync loop and shows partial
results. Only administrators or the user who started the sync may cancel.
CancelSync.id
readonly id: string;
ManageAuthorizedRoles
readonly ManageAuthorizedRoles: object;
Button to open an ephemeral message with role select for managing authorized creator roles.
When clicked, this button shows an ephemeral message with a role select menu. Selecting roles updates the authorized creator roles and refreshes the setup message.
ManageAuthorizedRoles.id
readonly id: string;
RemoveAssigneeMapping
readonly RemoveAssigneeMapping: object;
Base ID for the remove assignee mapping button.
The full custom ID is constructed as ${id}:${jiraName} so each mapping can be
uniquely identified. Clicking this button removes the mapping between a Jira
assignee and Discord user. Only administrators can remove mappings.
RemoveAssigneeMapping.id
readonly id: string;
RemoveColumnMapping
readonly RemoveColumnMapping: object;
Base ID for the remove column mapping button.
The full custom ID is constructed as ${id}:${status} so each mapping can be
uniquely identified. Clicking this button removes the mapping between a provider
status and a column. Only administrators can remove mappings.
RemoveColumnMapping.id
readonly id: string;
SetupBackOverview
readonly SetupBackOverview: object;
Button to navigate back to the overview page from provider settings.
When clicked, this button morphs the setup message back to the overview view.
SetupBackOverview.id
readonly id: string;
SetupProviderSettings
readonly SetupProviderSettings: object;
Button to navigate to the provider settings page from the overview.
When clicked, this button morphs the setup message to show provider-specific settings (assignee and column mappings).
SetupProviderSettings.id
readonly id: string;
TogglePublic
readonly TogglePublic: object;
Button to toggle between public (read-only) and private (admin/mod only) forum access.
When clicked, this button triggers permission updates on the forum channel:
- Private mode: Only administrators and moderators can view the forum
- Public mode: Everyone can view and read, but only admins/mods can post
TogglePublic.id
readonly id: string;
ViewAllMappings
readonly ViewAllMappings: object;
Base ID for the view all mappings button.
The full custom ID is constructed as ${id}:${type} where type is either
'assignee' or 'column'. Clicking this button shows an ephemeral message
with the complete list of mappings.
ViewAllMappings.id
readonly id: string;
ViewSyncErrors
readonly ViewSyncErrors: object;
Base ID for the view sync errors button.
The full custom ID is constructed as ${id}-${syncId} so each sync's errors can be
uniquely identified. Clicking this button shows an ephemeral message with a browsable
list of errors that occurred during synchronization.
ViewSyncErrors.id
readonly id: string;
Example
import { ButtonBuilder, ButtonStyle } from 'discord.js';
import { Buttons } from './constants.js';
// Create a toggle public button
const button = new ButtonBuilder()
.setCustomId(Buttons.TogglePublic.id)
.setLabel('Toggle Public Access')
.setStyle(ButtonStyle.Primary);