Documentation
¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MRRules ¶
type MRRules struct {
SchemaVersion string `json:"schemaVersion,omitempty"`
// MergeMethod accepts: ff | merge_commit | rebase_merge
MergeMethod string `json:"mergeMethod,omitempty"`
// DeleteSourceBranch enables default remove source branch
DeleteSourceBranch bool `json:"deleteSourceBranch,omitempty"`
// RequireSquash sets squash_option=always
RequireSquash bool `json:"requireSquash,omitempty"`
// Checks
PipelinesMustSucceed bool `json:"pipelinesMustSucceed,omitempty"`
AllowSkippedAsSuccess bool `json:"allowSkippedAsSuccess,omitempty"`
AllThreadsMustResolve bool `json:"allThreadsMustResolve,omitempty"`
}
Example ¶
rules := MRRules{
MergeMethod: "merge_commit",
PipelinesMustSucceed: true,
}
// Validate rule structure
if err := rules.Validate(); err == nil {
fields := rules.ToAPIFields()
// Print mapped properties for API
fmt.Println("Merge Method:", fields["merge_method"].(string))
fmt.Println("Pipeline Succeeds Required:", fields["only_allow_merge_if_pipeline_succeeds"].(bool))
}
Output: Merge Method: merge_commit Pipeline Succeeds Required: true
func (*MRRules) ToAPIFields ¶
ToAPIFields maps rules to GitLab project API fields.
Click to show internal directories.
Click to hide internal directories.