/gitlabcodeowners

A golang library to parse and query a CODEOWNERS file from Gitlab.

Primary LanguageGoMIT LicenseMIT

Go Report Card GitHub Actions Go Reference

gitlabcodeowners

import "github.com/chefe/gitlabcodeowners"

Package gitlabcodeowners provides parsing and querying function to work with `CODEOWNERS` file from Gitlab. See https://docs.gitlab.com/ee/user/project/codeowners for more details.

Index

func GetPossibleCodeOwnersLocations() []string

GetPossibleCodeOwnersLocations returns a list of possible locations where a `CODEOWNERS` file can be located according to Gitlab.

Approval describes an approval required by a rule in the `CODEOWNERS` file.

type Approval struct {
    Pattern   string
    Approvals int
    Owners    []string
}

type File

File is a representation of a parsed `CODEOWNERS` file.

type File struct {
    // contains filtered or unexported fields
}

func NewCodeOwnersFile(reader io.Reader) (File, error)

NewCodeOwnersFile tries to parse the given description and returns a `File` instance if parsing succeeded otherwise it return an error.

func (f File) GetRequiredApprovalsForFile(path string) map[string]Approval

GetRequiredApprovalsForFile returns a map of all approvals which apply to the file given by it's path. All path need to start with a `/` which represents the root folder of the repository.

func (f File) GetRequiredApprovalsForFiles(paths []string) map[string][]Approval

GetRequiredApprovalsForFiles returns a map of all approvals which apply to the files given by their path. All paths need to start with a `/` which represents the root folder of the repository.

Generated by gomarkdoc