Documentation
¶
Index ¶
- type ChangeItem
- func (ci *ChangeItem) Author() string
- func (ci *ChangeItem) AuthorURL() string
- func (ci *ChangeItem) CommitHash() string
- func (ci *ChangeItem) CommitHashShort() string
- func (ci *ChangeItem) CommitURL() string
- func (ci *ChangeItem) Date() time.Time
- func (ci *ChangeItem) GoString() string
- func (ci *ChangeItem) Group() string
- func (ci *ChangeItem) IsPull() bool
- func (ci *ChangeItem) PullID() (string, error)
- func (ci *ChangeItem) PullURL() string
- func (ci *ChangeItem) Title() string
- type Config
- type GitURLs
- type Grouping
- type ResolveType
- type SortDirection
- type TemplateData
- type TemplateGroup
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChangeItem ¶
type ChangeItem struct {
// The author of a commit
AuthorRaw *string `json:"author"`
// URL to author's GitHub profile
AuthorURLRaw *string `json:"author_url"`
// The commit title
CommitMessageRaw *string `json:"commit_message"`
// The commit date of the contribution (i.e. merge date)
DateRaw *time.Time `json:"date"`
// IsPullRaw determines if the commit was sourced from a pull request or directly committed to the branch
IsPullRaw *bool `json:"is_pull"`
// When IsPullRaw=true, this will point to the source of the pull request
PullURLRaw *string `json:"pull_url"`
// The commit's full SHA1 hash
CommitHashRaw *string `json:"commit"`
// The URL to the commit
CommitURLRaw *string `json:"commit_url"`
// An optional group identifier
GroupRaw *string `json:"group"`
}
ChangeItem stores properties exposed to users for Changelog creation
func (*ChangeItem) CommitHash ¶
func (ci *ChangeItem) CommitHash() string
CommitHash or empty string
func (*ChangeItem) CommitHashShort ¶
func (ci *ChangeItem) CommitHashShort() string
CommitHashShort is first 10 characters of CommitHash, or CommitHash if it's already short
func (*ChangeItem) GoString ¶
func (ci *ChangeItem) GoString() string
GoString displays debuggable format of ChangeItem
func (*ChangeItem) Group ¶
func (ci *ChangeItem) Group() string
Group is the targeted group for a commit, or empty string
func (*ChangeItem) PullID ¶
func (ci *ChangeItem) PullID() (string, error)
PullID is the numerical ID of a pull request, extracted from PullURL
func (*ChangeItem) Title ¶
func (ci *ChangeItem) Title() string
Title is the first line of a commit message, otherwise empty string
type Config ¶
type Config struct {
// Defines whether we resolve commits only or query additional information from pull requests
ResolveType *ResolveType `json:"resolve" yaml:"resolve"`
// The Owner (user or org) of the target repository
Owner string `json:"owner"`
// The target repository
Repo string `json:"repo"`
// A set of Grouping objects which allow to define groupings for changelog output.
// Commits are associated with the first matching group.
Groupings *[]Grouping `json:"groupings,omitempty"`
// As set of square-bracket regex patterns, wrapped texts and/or labels to be excluded from output.
// If the commit message or pr labels reference any text in this Exclude set, that commit
// will be ignored./**/
Exclude *[]string `json:"exclude,omitempty"`
// Optional base url when targeting GitHub Enterprise
Enterprise *string `json:"enterprise,omitempty"`
// Custom template following Go text/template syntax
// For more details, see https://golang.org/pkg/text/template/
Template *string `json:"template,omitempty"`
// SortDirection defines the order of commits within the changelog
SortDirection *SortDirection `json:"sort"`
// PreferLocal defines whether commits may be queried locally. Requires executing from within a Git repository.
PreferLocal *bool `json:"local,omitempty"`
// MaxCommits defines the maximum number of commits to be processed.
MaxCommits *int `json:"max_commits,omitempty"`
}
Config provides a user with more robust options for Changelog configuration
func LoadOrNewConfig ¶
LoadOrNewConfig will attempt to load path, otherwise returns a newly constructed config.
func (*Config) GetMaxCommits ¶
GetMaxCommits returns the user-specified preference for maximum commit count, otherwise the default of 500
func (*Config) GetPreferLocal ¶
GetPreferLocal returns the user-specified preference for local commit querying, otherwise the default of 'false'
func (*Config) ShouldExcludeByText ¶
type Grouping ¶
type Grouping struct {
// Name of the group, displayed in changelog output
Name string `json:"name"`
// Patterns to be evaluated for association in this group
Patterns []string `json:"patterns"`
}
Grouping allows assigning a grouping name with a set of regex patterns or texts. These patterns are evaluated against commit titles and, if resolving pull requests, labels.
type ResolveType ¶
type ResolveType uint8
ResolveType is a type alias representing the enumeration of options which configure how commits are processed (if commit only or if we lookup any available pull request info)
const ( // Commits only Commits ResolveType = 1 << iota // PullRequests requests that we pull PR information if available PullRequests ResolveType = 1 << iota )
func (*ResolveType) MarshalJSON ¶
func (r *ResolveType) MarshalJSON() ([]byte, error)
MarshalJSON converts ResolveType into a string representation sufficient for JSON
func (*ResolveType) MarshalYAML ¶ added in v1.1.0
func (r *ResolveType) MarshalYAML() ([]byte, error)
func (ResolveType) Ptr ¶
func (r ResolveType) Ptr() *ResolveType
func (ResolveType) String ¶
func (r ResolveType) String() string
String displays a human readable representation of the ResolveType values
func (*ResolveType) UnmarshalJSON ¶
func (r *ResolveType) UnmarshalJSON(b []byte) error
UnmarshalJSON converts a JSON formatted character array into ResolveType
func (*ResolveType) UnmarshalYAML ¶ added in v1.1.0
func (r *ResolveType) UnmarshalYAML(b []byte) error
type SortDirection ¶
type SortDirection uint8
const ( // Descending means most recent commits are at the top of the changelog Descending SortDirection = 1 << iota // Ascending means earlier commits are at the top of the changelog, more recent are at the bottom Ascending SortDirection = 1 << iota )
func (*SortDirection) MarshalJSON ¶
func (s *SortDirection) MarshalJSON() ([]byte, error)
MarshalJSON converts SortDirection into a string representation sufficient for JSON
func (*SortDirection) MarshalYAML ¶ added in v1.1.0
func (s *SortDirection) MarshalYAML() ([]byte, error)
func (SortDirection) Ptr ¶
func (s SortDirection) Ptr() *SortDirection
func (SortDirection) String ¶
func (s SortDirection) String() string
String displays a human readable representation of the SortDirection values
func (*SortDirection) UnmarshalJSON ¶
func (s *SortDirection) UnmarshalJSON(b []byte) error
UnmarshalJSON converts a JSON formatted character array into SortDirection
func (*SortDirection) UnmarshalYAML ¶ added in v1.1.0
func (s *SortDirection) UnmarshalYAML(b []byte) error
type TemplateData ¶
type TemplateData struct {
Version string
PreviousVersion string
Items []ChangeItem
DiffURL string
PatchURL string
CompareURL string
Grouped []TemplateGroup
}
TemplateData is the structure(s) bound to templates See https://golang.org/pkg/text/template/ for template details
type TemplateGroup ¶
type TemplateGroup struct {
Name string
Items []ChangeItem
}
TemplateGroup allows for data to be grouped in order as defined by user config