Configuration
Plugin options, Jira settings, and behavior customization.
Configure the plugin in config/plugins/robojs/roadmap.ts (or .mjs). The seed file created during installation includes all options with documentation.
Plugin options
Prop
Type
Full config example
import { JiraProvider } from '@robojs/roadmap'
import type { RoadmapPluginOptions } from '@robojs/roadmap'
const config: RoadmapPluginOptions = {
provider: new JiraProvider({
type: 'jira',
options: {
url: process.env.JIRA_URL,
email: process.env.JIRA_EMAIL,
apiToken: process.env.JIRA_API_TOKEN,
projectKey: process.env.JIRA_PROJECT_KEY,
jql: process.env.JIRA_JQL,
maxResults: 100,
defaultIssueType: 'Task'
}
}),
threadTitleTemplate: '[{id}] {title}',
autocompleteCacheTtl: 300000,
ephemeralCommands: true
}
export default configimport { JiraProvider } from '@robojs/roadmap'
const config = {
provider: new JiraProvider({
type: 'jira',
options: {
url: process.env.JIRA_URL,
email: process.env.JIRA_EMAIL,
apiToken: process.env.JIRA_API_TOKEN,
projectKey: process.env.JIRA_PROJECT_KEY,
jql: process.env.JIRA_JQL,
maxResults: 100,
defaultIssueType: 'Task'
}
}),
threadTitleTemplate: '[{id}] {title}',
autocompleteCacheTtl: 300000,
ephemeralCommands: true
}
export default configEphemeral commands
By default, /roadmap add and /roadmap edit responses are ephemeral (only visible to the user who ran the command). Set ephemeralCommands: false to make responses visible to the whole channel:
export default {
ephemeralCommands: false
}export default {
ephemeralCommands: false
}This doesn't affect /roadmap setup or /roadmap sync, which always show their responses to the invoking user.
Autocomplete cache
Autocomplete suggestions for columns, labels, and issue types are cached per-guild. The default TTL is 5 minutes. Lower values refresh faster but increase provider API calls:
export default {
autocompleteCacheTtl: 60000 // Refresh every minute
}export default {
autocompleteCacheTtl: 60000 // Refresh every minute
}The /roadmap edit card autocomplete uses a separate 60-second cache.
Public vs private forums
Forums default to private mode where only administrators and moderators can view them. Toggle access through the /roadmap setup panel or programmatically:
import { toggleForumAccess } from '@robojs/roadmap'
// Make roadmap visible to everyone
await toggleForumAccess(guild, 'public')
// Restrict to admins and mods
await toggleForumAccess(guild, 'private')import { toggleForumAccess } from '@robojs/roadmap'
// Make roadmap visible to everyone
await toggleForumAccess(guild, 'public')
// Restrict to admins and mods
await toggleForumAccess(guild, 'private')In public mode, everyone can view and comment on threads, but only admins and mods can create new threads.
Guild-specific settings
Each guild has its own persistent settings stored via Flashcore. These include forum channel IDs, access mode, sync history, assignee mappings, column mappings, and more. Access them programmatically:
import { getSettings, updateSettings } from '@robojs/roadmap'
const settings = getSettings(guildId)
updateSettings(guildId, { isPublic: true })import { getSettings, updateSettings } from '@robojs/roadmap'
const settings = getSettings(guildId)
updateSettings(guildId, { isPublic: true })See the API reference for the full list of settings functions.
