modulepackage
0.1.99
Repository: https://github.com/peterjmorgan/go-phylum.git
Documentation: pkg.go.dev
# README
go-phylum
API Wrapper for Phylum's REST API
Incomplete This API wrapper does not implement all functionality yet
Quickstart
package main
import "fmt"
import "github.com/peterjmorgan/go-phylum"
func main() {
// Create Client using locally-installed Phylum CLI as source of oauth refresh token
client, err := phylum.NewClient(&phylum.ClientOptions{})
if err != nil {
fmt.Printf("Failed to create Phylum client: %v\n", err)
}
projects, err := client.ListProjects()
if err != nil {
fmt.Printf("Failed to list projects: %v\n", err)
}
_ = projects
// Create client with user-supplied oauth refresh token
client2, err2 := phylum.NewClient(&phylum.ClientOptions{
Token: "user-supplied value of refresh token",
})
if err2 != nil {
fmt.Printf("Failed to create Phylum client: %v\n", err2)
}
// Create a Phylum project to store analysis results
project, err := client.CreateProject("myProject", &ProjectOpts{})
if err != nil {
fmt.Printf("Failed to create project: %v\n", err)
}
// Parse a local lockfile file using Phylum's API
packages, err := client.ParseLockfile("poetry.lock")
if err != nil {
fmt.Printf("Failed to parse lockfile: %v\n", err)
}
// Submit packages to Phylum for analysis, returning a job identifier
jobId, err := client.AnalyzeParsedPackages(*project.Ecosystem, project.Id, packages)
if err != nil {
fmt.Printf("Failed to analyze packages: %v\n", err)
}
// Request complete job results
results, err := client.GetJobVerbose(jobId)
if err != nil {
fmt.Printf("Failed to request job results: %v\n", err)
}
// Print Phylum Project Score from analysis
fmt.Printf("Phylum project score: %v\n", results.Score)
// Iterate through analyzed packages printing the Phylum Package Score for each
for _, package := range results.Packages {
fmt.Printf("%v:%v@%v - %v\n", package.Type, package.Name, package.Version, package.PackageScore)
}
}
# Packages
No description provided by the author
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Constants
Defines values for Action.
Defines values for Action.
Defines values for Action.
Defines values for SortDirection.
Defines values for RiskType.
Defines values for PaginateDirection.
Defines values for IngestionSource.
Defines values for Status.
Defines values for ProjectField.
Defines values for RiskLevel.
Defines values for SortDirection.
Defines values for ProjectField.
Defines values for RiskType.
Defines values for IgnoredReason.
Defines values for IgnoredReason.
Defines values for PaginateDirection.
Defines values for IngestionSource.
Defines values for IngestionSource.
Defines values for ProjectField.
Defines values for RiskLevel.
Defines values for Status.
Defines values for RiskLevel.
Defines values for ValidatedGroupNameError.
Defines values for RiskType.
Defines values for RiskLevel.
Defines values for RiskType.
Defines values for PackageType.
Defines values for RiskLevel.
Defines values for ProjectField.
Defines values for IgnoredReason.
Defines values for PackageType.
Defines values for PackageType.
Defines values for IgnoredReason.
No description provided by the author
Defines values for PackageType.
Defines values for RiskDomain.
Defines values for RiskDomain.
Defines values for RiskDomain.
Defines values for RiskDomain.
Defines values for RiskDomain.
Defines values for PackageType.
Defines values for ThresholdViolationAction.
Defines values for ThresholdViolationAction.
Defines values for ThresholdViolationAction.
Defines values for RiskType.
Defines values for ProjectField.
Defines values for RiskType.
# Structs
Represents a response that summarizes the output of all current jobs.
Author information.
No description provided by the author
No description provided by the author
CreateGroupResponse defines model for CreateGroupResponse.
Rquest to create a project.
DependenciesCounts defines model for DependenciesCounts.
DependenciesStatsBlock defines model for DependenciesStatsBlock.
Responsiveness of developers.
Information about a downloadable file.
Extended information about a package.
Information about a package.
Information about a package.
GetJobStatusParams defines parameters for GetJobStatus.
GetUserJobsParams defines parameters for GetUserJobs.
GroupMember defines model for GroupMember.
GroupPreferences defines model for GroupPreferences.
The preferences for a given group which may contain several projects.
GroupsGetProjectHistoryParams defines parameters for GroupsGetProjectHistory.
GroupsGetProjectParams defines parameters for GroupsGetProject.
Health defines model for Health.
Issues ignored from package score.
A single package issue.
Count of issues for each severity.
Issue description.
IssueStatusCounts defines model for IssueStatusCounts.
IssueStatusesStatsBlock defines model for IssueStatusesStatsBlock.
Metadata about a job.
JobScore defines model for JobScore.
Data returned when querying the job status endpoint.
Data returned when querying the job status endpoint.
A document describing an error.
A description of an error that occurred while servicing a request.
LicensesStatsBlock defines model for LicensesStatsBlock.
LicensesStatsBlock_Counts defines model for LicensesStatsBlock.Counts.
ListGroupMembersResponse defines model for ListGroupMembersResponse.
ListUserGroupsResponse defines model for ListUserGroupsResponse.
The maintainer information is (currently) sparser than the contributor data.
Metadata related to a particular pagination request.
The groups that have existing projects satisfying the given query.
PackageAuthorsResponse defines model for PackageAuthorsResponse.
Describes a package in the system.
PackageReleaseData defines model for PackageReleaseData.
PackageSearchListing defines model for PackageSearchListing.
PackageSpecifier defines model for PackageSpecifier.
PackagesSearchEndpointParams defines parameters for PackagesSearchEndpoint.
Basic core package meta data.
Package metadata with extended info info.
Dependencies of this package.
PackageStatusExtended_RiskVectors defines model for PackageStatusExtended.RiskVectors.
PackagesVersionSearchEndpointParams defines parameters for PackagesVersionSearchEndpoint.
Responses.
The groups that have existing projects satisfying the given query.
No description provided by the author
Project folder response format/data.
ProjectListEntry defines model for ProjectListEntry.
ProjectListingResponse defines model for ProjectListingResponse.
TODO: abstract group elements in the optional struct.
ProjectPreferences defines model for ProjectPreferences.
The preferences for a given project.
ProjectResponse defines model for ProjectResponse.
ProjectsGetEndpointParams defines parameters for ProjectsGetEndpoint.
ProjectsHistoryEndpointParams defines parameters for ProjectsHistoryEndpoint.
ProjectsListProjectsParams defines parameters for ProjectsListProjects.
ProjectStatsBlock defines model for ProjectStatsBlock.
Summary response for a project.
Rick cut off thresholds for a project.
RequestManagerProjectHistoryJobResponse defines model for RequestManagerProjectHistoryJobResponse.
Risk scores by domain.
Capture the user threshold settings.
ScoredVersion defines model for ScoredVersion.
Submit Package for analysis.
Initial response after package has been submitted.
Capture the user threshold settings.
UpdateUserPreferencesEndpointJSONBody defines parameters for UpdateUserPreferencesEndpoint.
UserGroup defines model for UserGroup.
Preferences for a given user.
UserPreferencesResponse_Preferences defines model for UserPreferencesResponse.Preferences.
A group name that has been checked and validated.
A uri path component that has also been validated as a group name.
# Interfaces
The kind of error encountered.
JobStatusResponseVariant defines model for JobStatusResponseVariant.
ResultOfValidatedGroupNamePathOrValidatedGroupNameError defines model for Result_of_ValidatedGroupNamePath_or_ValidatedGroupNameError.
An explanation of why an action was rejected for account tier reasons.
# Type aliases
When a job is completed, and some requirement is not met ( such as quality level ), what action should be taken? In the case of the CLI, the value of this result is used to determine if the CLI should print a warning, or exit with a non-zero exit code.
GroupsPostCreateGroupJSONBody defines parameters for GroupsPostCreateGroup.
GroupsPostCreateGroupJSONRequestBody defines body for GroupsPostCreateGroup for application/json ContentType.
IgnoredReason defines model for IgnoredReason.
How / where was the package ingested?.
The package ecosystem.
Requests.
The project fields on which users can sort.
ProjectsCreateProjectJSONBody defines parameters for ProjectsCreateProject.
ProjectsCreateProjectJSONRequestBody defines body for ProjectsCreateProject for application/json ContentType.
ProjectsUpdateProjectJSONBody defines parameters for ProjectsUpdateProject.
ProjectsUpdateProjectJSONRequestBody defines body for ProjectsUpdateProject for application/json ContentType.
Risk domains.
Issue severity.
RiskType defines model for RiskType.
SortDirection defines model for SortDirection.
StartJobJSONBody defines parameters for StartJob.
StartJobJSONRequestBody defines body for StartJob for application/json ContentType.
StartJobPutJSONBody defines parameters for StartJobPut.
StartJobPutJSONRequestBody defines body for StartJobPut for application/json ContentType.
Did the processing of the Package or Job complete successfully.
When phylum is integrated with CI, what action should be taken when the quality threshold of a package falls below the limit.
UpdateGroupPreferencesEndpointJSONBody defines parameters for UpdateGroupPreferencesEndpoint.
UpdateGroupPreferencesEndpointJSONRequestBody defines body for UpdateGroupPreferencesEndpoint for application/json ContentType.
UpdateProjectPreferencesEndpointJSONBody defines parameters for UpdateProjectPreferencesEndpoint.
UpdateProjectPreferencesEndpointJSONRequestBody defines body for UpdateProjectPreferencesEndpoint for application/json ContentType.
UpdateUserPreferencesEndpointJSONRequestBody defines body for UpdateUserPreferencesEndpoint for application/json ContentType.
An error that occured during validation of the group name.
The package ecosystem.