Documentation
¶
Index ¶
- Variables
- type Json
- func (j *Json) Changelog() string
- func (j *Json) Condition(source string, scm scm.ScmHandler) (pass bool, message string, err error)
- func (j *Json) Source(workingDir string, resultSource *result.Source) error
- func (j *Json) Target(source string, scm scm.ScmHandler, dryRun bool, resultTarget *result.Target) error
- type Spec
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrSpecFileUndefined is returned when the Spec has no file defined ErrSpecFileUndefined = errors.New("json file undefined") // ErrSpecKeyUndefined is returned when the Spec has no key defined ErrSpecKeyUndefined = errors.New("json key or query undefined") // ErrSpecFileAndFilesDefined is returned when the Spec has both file and files defined ErrSpecFileAndFilesDefined = errors.New("parameter \"file\" and \"files\" are mutually exclusive") // ErrWrongSpec is returned when the Spec has wrong content ErrWrongSpec error = errors.New("wrong spec content") )
View Source
var (
ErrSpecVersionFilterRequireMultiple = errors.New("in the context of a source, parameter \"versionfilter\" and \"query\" must be used together")
)
Functions ¶
This section is empty.
Types ¶
type Json ¶
type Json struct {
// contains filtered or unexported fields
}
Json stores configuration about the file and the key value which needs to be updated.
func (*Json) Changelog ¶
Changelog returns the changelog for this resource, or an empty string if not supported
type Spec ¶
type Spec struct { /* "file" defines the Json file path to interact with. compatible: * source * condition * target remark: * "file" and "files" are mutually exclusive * scheme "https://", "http://", and "file://" are supported in path for source and condition */ File string `yaml:",omitempty"` /* "files" defines the list of Json files path to interact with. compatible: * condition * target remark: * "file" and "files" are mutually exclusive * scheme "https://", "http://", and "file://" are supported in path for source and condition */ Files []string `yaml:",omitempty"` /* "key" defines the Jsonpath key to manipulate. compatible: * source * condition * target remark: * key is a simpler version of Jsonpath accepts keys. * key accepts Dasel query, more information on https://github.com/tomwright/dasel example: * key: $.name * key: name * file: https://nodejs.org/dist/index.json key: .(lts!=false).version */ Key string `yaml:",omitempty"` /* "value" defines the Jsonpath key value to manipulate. Default to source output. compatible: * condition * target default: when used for a condition or a target, the default value is the output of the source. */ Value string `yaml:",omitempty"` // [s][c][t] Query allows to used advanced query. Override the parameter key /* "query" defines the Jsonpath query to manipulate. It accepts advanced Dasel query the goal is to retrieve a list of values and then filter them with versionfilter. compatible: * source * condition * target example: * query: .name * query: ".[*].tag_name" remark: * query accepts Dasel query, more information on https://github.com/tomwright/dasel */ Query string `yaml:",omitempty"` /* "versionfilter" provides parameters to specify version pattern and its type like regex, semver, or just latest. compatible: * source */ VersionFilter version.Filter `yaml:",omitempty"` /* "multiple" allows to retrieve multiple values from a query. *Deprecated* Please look at query parameter to achieve similar objective compatible: * condition * target */ Multiple bool `yaml:",omitempty" jsonschema:"-"` }
"json" defines the specification for manipulating "json" files.
Click to show internal directories.
Click to hide internal directories.