github.com/jenkins-x/jx/v2@v2.1.155/pkg/tekton/metapipeline/kind.go (about)

     1  package metapipeline
     2  
     3  import "strings"
     4  
     5  const (
     6  	// ReleasePipeline indicates a release pipeline build.
     7  	ReleasePipeline PipelineKind = iota
     8  
     9  	// PullRequestPipeline indicates a pull request pipeline build.
    10  	PullRequestPipeline
    11  
    12  	// FeaturePipeline indicates a feature pipeline build.
    13  	FeaturePipeline
    14  )
    15  
    16  // PipelineKind defines the type of the pipeline
    17  type PipelineKind uint32
    18  
    19  // String returns a string representation of the pipeline type
    20  func (p PipelineKind) String() string {
    21  	switch p {
    22  	case ReleasePipeline:
    23  		return "release"
    24  	case PullRequestPipeline:
    25  		return "pullrequest"
    26  	case FeaturePipeline:
    27  		return "feature"
    28  	default:
    29  		return "unknown"
    30  	}
    31  }
    32  
    33  // StringToPipelineKind converts text to a PipelineKind
    34  func StringToPipelineKind(text string) PipelineKind {
    35  	switch strings.ToLower(text) {
    36  	case "release":
    37  		return ReleasePipeline
    38  	case "pullrequest":
    39  		return PullRequestPipeline
    40  	case "feature":
    41  		return FeaturePipeline
    42  	default:
    43  		return ReleasePipeline
    44  	}
    45  }