Documentation
¶
Overview ¶
Package pluginhelp defines structures that represent plugin help information. These structs are used by sub-packages 'hook' and 'externalplugins'.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Command ¶
type Command struct {
// Usage is a usage string for the command.
Usage string
// Featured is a flag for featured/highlight plugins.
Featured bool
// Description is a short description about what does the command do.
Description string
// Examples is a list of usage example for the command.
Examples []string
// WhoCanUse is a description of the permissions/role/authorization required to use the command.
// This is usually specified as a github permissions, but it can also be a github team, an
// OWNERS file alias, etc.
// This field may include HTML.
WhoCanUse string
}
Command is a serializable representation of the command information for a single command.
type Help ¶
type Help struct {
// AllRepos is a flatten (all org/repo, no org strings) list of the repos that use plugins.
AllRepos []string
// RepoPlugins maps org and org/repo strings to the plugins configured for that scope.
// NOTE: The key "" maps to the list of all existing plugins (including failed help providers).
// A mix of org or org/repo strings is desirable over the flattened form (all org/repo) that
// 'AllRepos' uses because it matches the plugin configuration and is more human readable.
RepoPlugins map[string][]string
RepoExternalPlugins map[string][]string
// PluginHelp is maps plugin names to their help info.
PluginHelp map[string]PluginHelp
ExternalPluginHelp map[string]PluginHelp
}
Help is a serializable representation of all plugin help information.
type PluginHelp ¶
type PluginHelp struct {
// Description is a description of what the plugin does and what purpose it achieves.
// This field may include HTML.
Description string
// Config is a map from org/repo strings to a string describing the configuration for that repo.
// The key "" should map to a string describing configuration that applies to all repos if any.
// This configuration strings may include HTML.
Config map[string]string
// Events is a slice containing the events that are handled by the plugin.
// NOTE: Plugins do not need to populate this. Hook populates it on their behalf.
Events []string
// Commands is a list of available commands of the plugin.
Commands []Command
}
PluginHelp is a serializable representation of the help information for a single plugin. This includes repo specific configuration for every repo that the plugin is enabled for.
func (*PluginHelp) AddCommand ¶
func (pluginHelp *PluginHelp) AddCommand(command Command)
AddCommand registers new help text for a bot command.
Directories
¶
Path | Synopsis |
---|---|
Package externalplugins provides the plugin help components to be compiled into external plugin binaries.
|
Package externalplugins provides the plugin help components to be compiled into external plugin binaries. |
Package hook provides the plugin help components to be compiled into the hook binary.
|
Package hook provides the plugin help components to be compiled into the hook binary. |
Click to show internal directories.
Click to hide internal directories.