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