Monorepo for Tangled tangled.org
1

Configure Feed

Select the types of activity you want to include in your feed.

core / api / tangled / citriggerPipeline.go
2.5 kB 79 lines
1// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 3package tangled 4 5// schema: sh.tangled.ci.triggerPipeline 6 7import ( 8 "context" 9 "encoding/json" 10 "fmt" 11 12 "github.com/bluesky-social/indigo/lex/util" 13) 14 15const ( 16 CiTriggerPipelineNSID = "sh.tangled.ci.triggerPipeline" 17) 18 19// CiTriggerPipeline_Input is the input argument to a sh.tangled.ci.triggerPipeline call. 20type CiTriggerPipeline_Input struct { 21 // repo: Target repository DID. Auth is checked against this repo. 22 Repo string `json:"repo" cborgen:"repo"` 23 // trigger: Trigger metadata for this dispatch. 24 Trigger *CiTriggerPipeline_Input_Trigger `json:"trigger" cborgen:"trigger"` 25 // workflows: Workflow names to run. When not provided, every dispatchable workflow is run. 26 Workflows []string `json:"workflows,omitempty" cborgen:"workflows,omitempty"` 27} 28 29// Trigger metadata for this dispatch. 30type CiTriggerPipeline_Input_Trigger struct { 31 CiTrigger_Manual *CiTrigger_Manual 32 CiTrigger_PullRequest *CiTrigger_PullRequest 33} 34 35func (t *CiTriggerPipeline_Input_Trigger) MarshalJSON() ([]byte, error) { 36 if t.CiTrigger_Manual != nil { 37 t.CiTrigger_Manual.LexiconTypeID = "sh.tangled.ci.trigger#manual" 38 return json.Marshal(t.CiTrigger_Manual) 39 } 40 if t.CiTrigger_PullRequest != nil { 41 t.CiTrigger_PullRequest.LexiconTypeID = "sh.tangled.ci.trigger#pullRequest" 42 return json.Marshal(t.CiTrigger_PullRequest) 43 } 44 return nil, fmt.Errorf("cannot marshal empty enum") 45} 46func (t *CiTriggerPipeline_Input_Trigger) UnmarshalJSON(b []byte) error { 47 typ, err := util.TypeExtract(b) 48 if err != nil { 49 return err 50 } 51 52 switch typ { 53 case "sh.tangled.ci.trigger#manual": 54 t.CiTrigger_Manual = new(CiTrigger_Manual) 55 return json.Unmarshal(b, t.CiTrigger_Manual) 56 case "sh.tangled.ci.trigger#pullRequest": 57 t.CiTrigger_PullRequest = new(CiTrigger_PullRequest) 58 return json.Unmarshal(b, t.CiTrigger_PullRequest) 59 60 default: 61 return nil 62 } 63} 64 65// CiTriggerPipeline_Output is the output of a sh.tangled.ci.triggerPipeline call. 66type CiTriggerPipeline_Output struct { 67 // pipeline: AT-URI of the created pipeline 68 Pipeline string `json:"pipeline" cborgen:"pipeline"` 69} 70 71// CiTriggerPipeline calls the XRPC method "sh.tangled.ci.triggerPipeline". 72func CiTriggerPipeline(ctx context.Context, c util.LexClient, input *CiTriggerPipeline_Input) (*CiTriggerPipeline_Output, error) { 73 var out CiTriggerPipeline_Output 74 if err := c.LexDo(ctx, util.Procedure, "application/json", "sh.tangled.ci.triggerPipeline", nil, input, &out); err != nil { 75 return nil, err 76 } 77 78 return &out, nil 79}