Documentation ¶
Overview ¶
Package fossa provides a high-level interface to the FOSSA API (by default, located at https://app.fossa.io).
Index ¶
- Constants
- Variables
- func Get(endpoint string) (res string, statusCode int, err error)
- func GetJSON(endpoint string, v interface{}) (statusCode int, err error)
- func GetOrganizationID() (string, error)
- func Init(server, APIKey string) error
- func MustInit(server, APIKey string)
- func NormalizeGitURL(project string) string
- func Post(endpoint string, body []byte) (res string, statusCode int, err error)
- func PutJSON(endpoint string, body []byte, v interface{}) (statusCode int, err error)
- func SourceUnitType(t pkg.Type) (string, error)
- type Build
- type Issue
- type License
- type Locator
- type Project
- type Revision
- type RevisionMeta
- type SourceUnit
- type SourceUnitBuild
- type SourceUnitDependency
- type User
Constants ¶
const BuildRevisionAPI = "/api/revisions/%s/build"
const BuildsAPI = "/api/builds/%s"
const IssuesAPI = "/api/issues/%s"
const RevisionsAPI = "/api/revisions/%s"
RevisionsAPI is the API endpoint for revisions.
Variables ¶
var ( ErrNoProject = errors.New("no project provided for upload") ErrNoRevision = errors.New("no revision provided for upload") ErrNoBuildData = errors.New("no build data to upload") )
Errors related to preconditions.
var ( ErrForbidden = errors.New("authentication failed (is the API key correct?)") ErrRevisionDoesNotExist = errors.New("revision does not exist (are the project and revision correct and published in FOSSA?)") )
Errors resulting from a bad API response.
var UsersAPI = "/api/users/%s"
Functions ¶
func GetOrganizationID ¶ added in v0.7.0
func MustInit ¶ added in v0.7.0
func MustInit(server, APIKey string)
MustInit crashes and logs a fatal exception if `Init` fails.
func NormalizeGitURL ¶
NormalizeGitURL normalizes all forms of git remote URLs to a single standard form.
Types ¶
type Build ¶
A Build holds the FOSSA API response for the builds API.
func QueueBuild ¶ added in v0.7.0
type License ¶ added in v0.7.0
type License struct { ID int64 LicenseID string RevisionID string LicenseGroupID int64 Ignored bool Title string URL string FullText string Copyright string }
A License holds the FOSSA API response for the license API.
type Locator ¶
type Locator struct { Fetcher string `json:"fetcher"` Project string `json:"package"` Revision string `json:"revision"` }
Locator serializes FOSSA API locators.
func ReadLocator ¶
ReadLocator parses a string locator into a Locator.
func Upload ¶
func Upload(fetcher, project, revision, title, branch string, data []SourceUnit) (Locator, error)
Upload uploads a project's analysis.
func (Locator) IsResolved ¶
IsResolved returns true only if a locator is resolved.
type Revision ¶ added in v0.7.0
type Revision struct { Locator *Locator `json:"loc"` Licenses []License Project *Project Meta []RevisionMeta Issues []Issue }
A Revision holds the FOSSA API response for the revision API.
func GetRevision ¶ added in v0.7.0
GetRevision loads a single revision.
func GetRevisions ¶ added in v0.7.0
GetRevisions loads many revisions in batched requests.
type RevisionMeta ¶ added in v0.7.0
type RevisionMeta struct {
LastScan string `json:"last_scan"`
}
A RevisionMeta holds metadata about a FOSSA API revision.
type SourceUnit ¶
type SourceUnit struct { Name string Type string Manifest string Build SourceUnitBuild }
SourceUnit is the basic module unit of the FOSSA API.
type SourceUnitBuild ¶ added in v0.7.0
type SourceUnitBuild struct { Artifact string Context interface{} Succeeded bool Error error `json:",omitempty"` Imports []string Dependencies []SourceUnitDependency }
A SourceUnitBuild contains the build information of a SourceUnit.
type SourceUnitDependency ¶ added in v0.7.0
type SourceUnitDependency struct { // Location Locator string `json:"locator"` Imports []string `json:"imports,omitempty"` // Metadata Data *json.RawMessage `json:"data,omitempty"` // Context Depth int `json:"depth,omitempty"` Parent string `json:"parent,omitempty"` UnresolvedLocators []string `json:"unresolved_locators,omitempty"` }
A SourceUnitDependency contains the dependency information of a SourceUnit.