github.com/google/go-github/v74@v74.0.0/github/repos_codeowners.go (about) 1 // Copyright 2022 The go-github AUTHORS. All rights reserved. 2 // 3 // Use of this source code is governed by a BSD-style 4 // license that can be found in the LICENSE file. 5 6 package github 7 8 import ( 9 "context" 10 "fmt" 11 ) 12 13 // GetCodeownersErrorsOptions specifies the optional parameters to the 14 // RepositoriesService.GetCodeownersErrors method. 15 type GetCodeownersErrorsOptions struct { 16 // A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. 17 // Default: the repository's default branch (e.g. main). 18 Ref string `url:"ref,omitempty"` 19 } 20 21 // CodeownersErrors represents a list of syntax errors detected in the CODEOWNERS file. 22 type CodeownersErrors struct { 23 Errors []*CodeownersError `json:"errors"` 24 } 25 26 // CodeownersError represents a syntax error detected in the CODEOWNERS file. 27 type CodeownersError struct { 28 Line int `json:"line"` 29 Column int `json:"column"` 30 Kind string `json:"kind"` 31 Source string `json:"source"` 32 Suggestion *string `json:"suggestion,omitempty"` 33 Message string `json:"message"` 34 Path string `json:"path"` 35 } 36 37 // GetCodeownersErrors lists any syntax errors that are detected in the CODEOWNERS file. 38 // 39 // GitHub API docs: https://docs.github.com/rest/repos/repos#list-codeowners-errors 40 // 41 //meta:operation GET /repos/{owner}/{repo}/codeowners/errors 42 func (s *RepositoriesService) GetCodeownersErrors(ctx context.Context, owner, repo string, opts *GetCodeownersErrorsOptions) (*CodeownersErrors, *Response, error) { 43 u := fmt.Sprintf("repos/%v/%v/codeowners/errors", owner, repo) 44 u, err := addOptions(u, opts) 45 if err != nil { 46 return nil, nil, err 47 } 48 49 req, err := s.client.NewRequest("GET", u, nil) 50 if err != nil { 51 return nil, nil, err 52 } 53 54 codeownersErrors := &CodeownersErrors{} 55 resp, err := s.client.Do(ctx, req, codeownersErrors) 56 if err != nil { 57 return nil, resp, err 58 } 59 60 return codeownersErrors, resp, nil 61 }