Documentation ¶
Index ¶
- func AddOrRemoveOrbCategorization(cl *graphql.Client, namespace string, orb string, categoryName string, ...) error
- func DeleteNamespace(cl *graphql.Client, id string) error
- func DeleteNamespaceAlias(cl *graphql.Client, name string) error
- func NamespaceExists(cl *graphql.Client, namespace string) (bool, error)
- func OrbExists(cl *graphql.Client, namespace string, orb string) (bool, bool, error)
- func OrbLatestVersion(cl *graphql.Client, namespace string, orb string) (string, error)
- func OrbSetOrbListStatus(cl *graphql.Client, namespace string, orb string, list bool) (*bool, error)
- func OrbSource(cl *graphql.Client, orbRef string) (string, error)
- type Actor
- type AddOrRemoveOrbCategorizationData
- type AddOrRemoveOrbCategorizationResponse
- type BuildConfigResponse
- type ConfigResponse
- type CreateNamespaceResponse
- type CreateOrbResponse
- type ErrOrbVersionNotExists
- type ErrorWithMessage
- type FollowedProject
- type GQLErrorsCollection
- type GQLResponseError
- type GetNamespaceResponse
- type GetOrganizationParams
- type GetOrganizationResponse
- type ImportNamespaceResponse
- type ImportOrbResponse
- type IntrospectionResponse
- type Me
- type Namespace
- type NamespaceOrbResponse
- type NamespaceOrbVersionResponse
- type Orb
- func OrbImportVersion(cl *graphql.Client, orbSrc string, orbID string, orbVersion string) (*Orb, error)
- func OrbIncrementVersion(cl *graphql.Client, configPath string, namespace string, orb string, ...) (*Orb, error)
- func OrbPromoteByName(cl *graphql.Client, namespaceName, orbName, label, segment string) (*Orb, error)
- func OrbPublishByName(cl *graphql.Client, configPath, orbName, namespaceName, orbVersion string) (*Orb, error)
- type OrbBase
- type OrbCategoriesForListing
- type OrbCategory
- type OrbCategoryIDResponse
- type OrbCategoryListResponse
- type OrbConfigResponse
- type OrbElement
- type OrbElementParameter
- type OrbIDResponse
- type OrbImportVersionResponse
- type OrbLatestVersionResponse
- type OrbListResponse
- type OrbPromoteResponse
- type OrbPublishResponse
- type OrbSetOrbListStatusResponse
- type OrbStatistics
- type OrbVersion
- type OrbWithData
- type OrbsForListing
- type RealOrbElement
- type RenameNamespaceResponse
- type Schedule
- type ScheduleInterface
- type ScheduleRestClient
- func (c *ScheduleRestClient) CreateSchedule(vcs, org, project, name, description string, useSchedulingSystem bool, ...) (*Schedule, error)
- func (c *ScheduleRestClient) DeleteSchedule(scheduleID string) error
- func (c *ScheduleRestClient) EnsureExists() error
- func (c *ScheduleRestClient) ScheduleByID(scheduleID string) (*Schedule, error)
- func (c *ScheduleRestClient) ScheduleByName(vcs, org, project, name string) (*Schedule, error)
- func (c *ScheduleRestClient) Schedules(vcs, org, project string) (*[]Schedule, error)
- func (c *ScheduleRestClient) UpdateSchedule(scheduleID, name, description string, useSchedulingSystem bool, ...) (*Schedule, error)
- type Timetable
- type UpdateOrbCategorizationRequestType
- type WhoamiResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddOrRemoveOrbCategorization ¶ added in v0.1.9399
func AddOrRemoveOrbCategorization(cl *graphql.Client, namespace string, orb string, categoryName string, updateType UpdateOrbCategorizationRequestType) error
AddOrRemoveOrbCategorization adds or removes an orb categorization
func DeleteNamespace ¶ added in v0.1.15900
func DeleteNamespaceAlias ¶ added in v0.1.11278
func NamespaceExists ¶ added in v0.1.11062
NamespaceExists returns a boolean indicating if the provided namespace exists.
func OrbExists ¶ added in v0.1.11062
OrbExists checks whether an orb exists within the provided namespace and whether it's private.
func OrbLatestVersion ¶ added in v0.1.1813
OrbLatestVersion finds the latest published version of an orb and returns it. If it doesn't find a version, it will return 0.0.0 for the orb's version
Types ¶
type AddOrRemoveOrbCategorizationData ¶ added in v0.1.9399
type AddOrRemoveOrbCategorizationData struct { CategoryId string OrbId string Errors GQLErrorsCollection }
type AddOrRemoveOrbCategorizationResponse ¶ added in v0.1.9399
type AddOrRemoveOrbCategorizationResponse map[string]AddOrRemoveOrbCategorizationData
AddOrRemoveOrbCategorizationResponse type matches the data shape of the GQL response for adding or removing an orb categorization
type BuildConfigResponse ¶ added in v0.1.2969
type BuildConfigResponse struct { BuildConfig struct { ConfigResponse } }
BuildConfigResponse wraps the GQL result of the ConfigQuery
type ConfigResponse ¶
type ConfigResponse struct { Valid bool SourceYaml string OutputYaml string Errors GQLErrorsCollection }
ConfigResponse is a structure that matches the result of the GQL query, so that we can use mapstructure to convert from nested maps to a strongly typed struct.
type CreateNamespaceResponse ¶
type CreateNamespaceResponse struct { CreateNamespace struct { Namespace struct { CreatedAt string ID string } Errors GQLErrorsCollection } }
CreateNamespaceResponse type matches the data shape of the GQL response for creating a namespace
func CreateNamespace ¶
func CreateNamespace(cl *graphql.Client, name string, organizationName string, organizationVcs string) (*CreateNamespaceResponse, error)
CreateNamespace creates (reserves) a namespace for an organization
func CreateNamespaceWithOwnerID ¶ added in v0.1.17429
type CreateOrbResponse ¶
type CreateOrbResponse struct { CreateOrb struct { Orb Orb Errors GQLErrorsCollection } }
CreateOrbResponse type matches the data shape of the GQL response for creating an orb
type ErrOrbVersionNotExists ¶ added in v0.1.11062
type ErrOrbVersionNotExists struct {
OrbRef string
}
ErrOrbVersionNotExists is a custom error type that communicates that an orb version was not found.
func (*ErrOrbVersionNotExists) Error ¶ added in v0.1.11062
func (e *ErrOrbVersionNotExists) Error() string
Error implements the standard error interface.
type ErrorWithMessage ¶ added in v0.1.30401
type ErrorWithMessage struct {
Message string `json:"message"`
}
func (ErrorWithMessage) Error ¶ added in v0.1.30401
func (e ErrorWithMessage) Error() string
type FollowedProject ¶ added in v0.1.9988
func FollowProject ¶ added in v0.1.9988
type GQLErrorsCollection ¶ added in v0.1.2969
type GQLErrorsCollection []GQLResponseError
GQLErrorsCollection is a slice of errors returned by the GraphQL server. Each error is made up of a GQLResponseError type.
func (GQLErrorsCollection) Error ¶ added in v0.1.2969
func (errs GQLErrorsCollection) Error() string
Error turns a GQLErrorsCollection into an acceptable error string that can be printed to the user.
type GQLResponseError ¶ added in v0.1.2969
type GQLResponseError struct { Message string Value string AllowedValues []string EnumType string Type string }
GQLResponseError is a mapping of the data returned by the GraphQL server of key-value pairs. Typically used with the structure "Message: string", but other response errors provide additional fields.
type GetNamespaceResponse ¶ added in v0.1.2969
type GetNamespaceResponse struct { RegistryNamespace struct { ID string } }
GetNamespaceResponse type wraps the GQL response for fetching a namespace
func GetNamespace ¶ added in v0.1.9988
func GetNamespace(cl *graphql.Client, name string) (*GetNamespaceResponse, error)
type GetOrganizationParams ¶ added in v0.1.30401
type GetOrganizationResponse ¶ added in v0.1.2969
type GetOrganizationResponse struct { Organization struct { ID string Name string VCSType string } }
GetOrganizationResponse type wraps the GQL response for fetching an organization and ID.
func GetOrganization ¶ added in v0.1.30401
func GetOrganization(cl *graphql.Client, params GetOrganizationParams) (*GetOrganizationResponse, error)
type ImportNamespaceResponse ¶ added in v0.1.11062
type ImportNamespaceResponse struct { ImportNamespace struct { Namespace struct { CreatedAt string ID string } Errors GQLErrorsCollection } }
ImportNamespaceResponse type matches the data shape of the GQL response for importing a namespace
func CreateImportedNamespace ¶ added in v0.1.11062
func CreateImportedNamespace(cl *graphql.Client, name string) (*ImportNamespaceResponse, error)
CreateImportedNamespace creates an imported namespace with the provided name. An imported namespace does not require organization-level details.
type ImportOrbResponse ¶ added in v0.1.11458
type ImportOrbResponse struct { ImportOrb struct { Orb Orb Errors GQLErrorsCollection } }
ImportOrbResponse type matches the data shape of the GQL response for creating an orb
func CreateImportedOrb ¶ added in v0.1.11062
func CreateImportedOrb(cl *graphql.Client, namespace string, name string) (*ImportOrbResponse, error)
CreateImportedOrb creates (reserves) an imported orb within the provided namespace.
type IntrospectionResponse ¶ added in v0.1.2001
type IntrospectionResponse struct { Schema struct { MutationType struct { Name string } QueryType struct { Name string } Types []struct { Description string Fields []struct { Name string } Kind string Name string } } `json:"__schema"` }
IntrospectionResponse matches the result from making an introspection query
func IntrospectionQuery ¶ added in v0.1.2001
func IntrospectionQuery(cl *graphql.Client) (*IntrospectionResponse, error)
IntrospectionQuery makes a query on the API asking for bits of the schema This query isn't intended to get the entire schema, there are better tools for that.
type Namespace ¶ added in v0.1.11062
type Namespace struct {
Name string
}
Namespace represents the contents of a single namespace.
type NamespaceOrbResponse ¶ added in v0.1.2969
type NamespaceOrbResponse struct { RegistryNamespace struct { Name string ID string Orbs struct { Edges []struct { Cursor string Node OrbWithData } TotalCount int PageInfo struct { HasNextPage bool } } } }
NamespaceOrbResponse type matches the result from GQL. So that we can use mapstructure to convert from nested maps to a strongly typed struct.
type NamespaceOrbVersionResponse ¶ added in v0.1.11062
type NamespaceOrbVersionResponse struct { RegistryNamespace struct { Name string ID string Orbs struct { Edges []struct { Cursor string Node Orb } PageInfo struct { HasNextPage bool } } } }
NamespaceOrbVersionResponse type mat
type Orb ¶ added in v0.1.1845
type Orb struct { ID string Name string Namespace Namespace CreatedAt string Source string HighestVersion string `json:"version"` Statistics struct { Last30DaysBuildCount int Last30DaysProjectCount int Last30DaysOrganizationCount int } Commands map[string]OrbElement Jobs map[string]OrbElement Executors map[string]OrbElement Versions []OrbVersion Categories []OrbCategory }
Orb is a struct for containing the yaml-unmarshaled contents of an orb
func OrbImportVersion ¶ added in v0.1.11062
func OrbImportVersion(cl *graphql.Client, orbSrc string, orbID string, orbVersion string) (*Orb, error)
OrbImportVersion publishes a new version of an orb using the provided source and id.
func OrbIncrementVersion ¶ added in v0.1.1813
func OrbIncrementVersion(cl *graphql.Client, configPath string, namespace string, orb string, segment string) (*Orb, error)
OrbIncrementVersion accepts an orb and segment to increment the orb.
func OrbPromoteByName ¶ added in v0.1.12119
func OrbPromoteByName(cl *graphql.Client, namespaceName, orbName, label, segment string) (*Orb, error)
OrbPromoteByName utilizes the given orb's name, namespace, development version, and segment to increment a semantic release.
type OrbBase ¶ added in v0.1.4555
type OrbBase struct { Name string `json:"name"` HighestVersion string `json:"version"` Statistics OrbStatistics `json:"statistics"` Versions []struct { Version string `json:"version"` Source string `json:"source"` } `json:"versions"` }
OrbBase represents the minimum fields we wish to serialize for orbs. This type can be embedded for extending orbs with more data. e.g. OrbWithData
type OrbCategoriesForListing ¶ added in v0.1.9399
type OrbCategoriesForListing struct {
OrbCategories []OrbCategory `json:"orbCategories"`
}
OrbCategoriesForListing is a container type for multiple orb categories for deserializing back into JSON.
func ListOrbCategories ¶ added in v0.1.9399
func ListOrbCategories(cl *graphql.Client) (*OrbCategoriesForListing, error)
ListOrbCategories queries the API to find all categories. Returns a collection of OrbCategory objects containing their relevant data.
type OrbCategory ¶ added in v0.1.9399
type OrbCategoryIDResponse ¶ added in v0.1.9399
type OrbCategoryIDResponse struct { OrbCategoryByName struct { ID string } }
OrbCategoryIDResponse matches the GQL response for fetching an Orb category's id
func OrbCategoryID ¶ added in v0.1.9399
func OrbCategoryID(cl *graphql.Client, name string) (*OrbCategoryIDResponse, error)
OrbCategoryID fetches an orb returning the ID
type OrbCategoryListResponse ¶ added in v0.1.9399
type OrbCategoryListResponse struct { OrbCategories struct { TotalCount int Edges []struct { Cursor string Node OrbCategory } PageInfo struct { HasNextPage bool } } }
OrbCategoryListResponse type matches the result from GQL. So that we can use mapstructure to convert from nested maps to a strongly typed struct.
type OrbConfigResponse ¶ added in v0.1.2969
type OrbConfigResponse struct { OrbConfig struct { ConfigResponse } }
OrbConfigResponse wraps the GQL result for OrbQuery.
type OrbElement ¶ added in v0.1.3541
type OrbElement RealOrbElement
OrbElement implements RealOrbElement interface and allows us to deserialize by hand.
func (*OrbElement) UnmarshalYAML ¶ added in v0.1.4180
func (orbElement *OrbElement) UnmarshalYAML(unmarshal func(interface{}) error) error
UnmarshalYAML method allows OrbElement to be a string or a map. For now, don't even try to dereference the string, just return what is essentially an empty OrbElement (no description or parameters)
type OrbElementParameter ¶ added in v0.1.3541
type OrbElementParameter struct { Description string `json:"-"` Type string `json:"-"` Default interface{} `json:"-"` }
OrbElementParameter represents the yaml-unmarshled contents of a parameter for a command/job/executor
type OrbIDResponse ¶ added in v0.1.2969
type OrbIDResponse struct { Orb struct { ID string IsPrivate bool } RegistryNamespace struct { ID string } }
OrbIDResponse matches the GQL response for fetching an Orb and ID
type OrbImportVersionResponse ¶ added in v0.1.11715
type OrbImportVersionResponse struct { ImportOrbVersion struct { Orb Orb Errors GQLErrorsCollection } }
The OrbImportVersionResponse type matches the data shape of the GQL response for importing an orb version.
type OrbLatestVersionResponse ¶ added in v0.1.2969
type OrbLatestVersionResponse struct { Orb struct { Versions []OrbVersion } }
OrbLatestVersionResponse wraps the GQL result of fetching an Orb and latest version
type OrbListResponse ¶ added in v0.1.2969
type OrbListResponse struct { Orbs struct { TotalCount int Edges []struct { Cursor string Node OrbWithData } PageInfo struct { HasNextPage bool } } }
OrbListResponse type matches the result from GQL. So that we can use mapstructure to convert from nested maps to a strongly typed struct.
type OrbPromoteResponse ¶ added in v0.1.1813
type OrbPromoteResponse struct { PromoteOrb struct { Orb Orb Errors GQLErrorsCollection } }
The OrbPromoteResponse type matches the data shape of the GQL response for promoting an orb.
type OrbPublishResponse ¶ added in v0.1.1813
type OrbPublishResponse struct { PublishOrb struct { Orb Orb Errors GQLErrorsCollection } }
The OrbPublishResponse type matches the data shape of the GQL response for publishing an orb.
type OrbSetOrbListStatusResponse ¶ added in v0.1.5879
type OrbSetOrbListStatusResponse struct { SetOrbListStatus struct { Listed bool Errors GQLErrorsCollection } }
The OrbSetOrbListStatusResponse type matches the data shape of the GQL response for setting the list status of an orb.
type OrbStatistics ¶ added in v0.1.4766
type OrbStatistics struct { Last30DaysBuildCount int `json:"last30DaysBuildCount"` Last30DaysProjectCount int `json:"last30DaysProjectCount"` Last30DaysOrganizationCount int `json:"last30DaysOrganizationCount"` }
OrbStatistics represents the data we retrieve for orb usage in the last thirty days.
type OrbVersion ¶ added in v0.1.2331
OrbVersion wraps the GQL result used by OrbSource and OrbInfo
func ListNamespaceOrbVersions ¶ added in v0.1.11062
func ListNamespaceOrbVersions(cl *graphql.Client, namespace string) ([]OrbVersion, error)
ListNamespaceOrbVersions queries the API to retrieve the orbs belonging to the given namespace. By default, this call fetches the latest version of each orb.
type OrbWithData ¶ added in v0.1.3923
type OrbWithData struct { OrbBase Commands map[string]OrbElement Jobs map[string]OrbElement Executors map[string]OrbElement }
OrbWithData extends the OrbBase type with additional data used for printing.
func (OrbWithData) MarshalJSON ¶ added in v0.1.4555
func (orb OrbWithData) MarshalJSON() ([]byte, error)
MarshalJSON allows us to leave out excess fields we don't want to serialize. As is the case with commands/jobs/executors and now statistics.
type OrbsForListing ¶ added in v0.1.3923
type OrbsForListing struct { Orbs []OrbWithData `json:"orbs"` Namespace string `json:"namespace,omitempty"` }
OrbsForListing is a container type for multiple orbs that includes the namespace and orbs for deserializing back into JSON.
func ListNamespaceOrbs ¶ added in v0.1.1845
func ListNamespaceOrbs(cl *graphql.Client, namespace string, isPrivate, showDetails bool) (*OrbsForListing, error)
ListNamespaceOrbs queries the API to find all orbs belonging to the given namespace. Returns a collection of Orb objects containing their relevant data.
func ListOrbs ¶ added in v0.1.2113
func ListOrbs(cl *graphql.Client, uncertified bool) (*OrbsForListing, error)
ListOrbs queries the API to find all orbs. Returns a collection of Orb objects containing their relevant data.
func (*OrbsForListing) SortBy ¶ added in v0.1.4555
func (orbs *OrbsForListing) SortBy(sortBy string)
SortBy allows us to sort a collection of orbs by builds, projects, or orgs from the last 30 days of data.
type RealOrbElement ¶ added in v0.1.4180
type RealOrbElement struct { Description string `json:"-"` Parameters map[string]OrbElementParameter `json:"-"` }
RealOrbElement represents the yaml-unmarshled contents of a named element under a command/job/executor
type RenameNamespaceResponse ¶ added in v0.1.11255
type RenameNamespaceResponse struct { RenameNamespace struct { Namespace struct { CreatedAt string ID string } Errors GQLErrorsCollection } }
func RenameNamespace ¶ added in v0.1.11255
func RenameNamespace(cl *graphql.Client, oldName, newName string) (*RenameNamespaceResponse, error)
type Schedule ¶ added in v0.1.18305
type Schedule struct { ID string `json:"id"` ProjectSlug string `json:"project-slug"` Name string `json:"name"` Description string `json:"description,omitempty"` Timetable Timetable `json:"timetable"` Actor Actor `json:"actor"` Parameters map[string]string `json:"parameters"` CreatedAt time.Time `json:"created-at"` UpdatedAt time.Time `json:"updated-at"` }
type ScheduleInterface ¶ added in v0.1.18305
type ScheduleInterface interface { Schedules(vcs, org, project string) (*[]Schedule, error) ScheduleByID(scheduleID string) (*Schedule, error) ScheduleByName(vcs, org, project, name string) (*Schedule, error) DeleteSchedule(scheduleID string) error CreateSchedule(vcs, org, project, name, description string, useSchedulingSystem bool, timetable Timetable, parameters map[string]string) (*Schedule, error) UpdateSchedule(scheduleID, name, description string, useSchedulingSystem bool, timetable Timetable, parameters map[string]string) (*Schedule, error) }
type ScheduleRestClient ¶ added in v0.1.18305
type ScheduleRestClient struct {
// contains filtered or unexported fields
}
Communicates with the CircleCI REST API to ask questions about schedules. It satisfies api.ScheduleInterface.
func NewScheduleRestClient ¶ added in v0.1.18305
func NewScheduleRestClient(config settings.Config) (*ScheduleRestClient, error)
Returns a new client satisfying the api.ScheduleInterface interface via the REST API.
func (*ScheduleRestClient) CreateSchedule ¶ added in v0.1.18305
func (c *ScheduleRestClient) CreateSchedule(vcs, org, project, name, description string, useSchedulingSystem bool, timetable Timetable, parameters map[string]string) (*Schedule, error)
Creates a new schedule in the supplied project.
func (*ScheduleRestClient) DeleteSchedule ¶ added in v0.1.18305
func (c *ScheduleRestClient) DeleteSchedule(scheduleID string) error
Deletes the schedule with the given ID.
func (*ScheduleRestClient) EnsureExists ¶ added in v0.1.18305
func (c *ScheduleRestClient) EnsureExists() error
Verifies that the REST API exists and has the necessary endpoints to interact with schedules.
func (*ScheduleRestClient) ScheduleByID ¶ added in v0.1.18305
func (c *ScheduleRestClient) ScheduleByID(scheduleID string) (*Schedule, error)
Returns the schedule with the given ID.
func (*ScheduleRestClient) ScheduleByName ¶ added in v0.1.18305
func (c *ScheduleRestClient) ScheduleByName(vcs, org, project, name string) (*Schedule, error)
Finds a single schedule by its name and returns it.
func (*ScheduleRestClient) Schedules ¶ added in v0.1.18305
func (c *ScheduleRestClient) Schedules(vcs, org, project string) (*[]Schedule, error)
Returns all of the schedules for a given project. Note that pagination is not currently supported - we get all pages of schedules and return them all.
func (*ScheduleRestClient) UpdateSchedule ¶ added in v0.1.18305
func (c *ScheduleRestClient) UpdateSchedule(scheduleID, name, description string, useSchedulingSystem bool, timetable Timetable, parameters map[string]string) (*Schedule, error)
Updates an existing schedule.
type UpdateOrbCategorizationRequestType ¶ added in v0.1.9399
type UpdateOrbCategorizationRequestType int
const ( Add UpdateOrbCategorizationRequestType = iota Remove )
type WhoamiResponse ¶ added in v0.1.2295
type WhoamiResponse struct { Me struct { Name string } }
WhoamiResponse type matches the data shape of the GQL response for the current user
func WhoamiQuery ¶ added in v0.1.2295
func WhoamiQuery(cl *graphql.Client) (*WhoamiResponse, error)
WhoamiQuery returns the result of querying the `/me` endpoint of the API