diff --git a/out_command.go b/out_command.go index aa90195..8654617 100644 --- a/out_command.go +++ b/out_command.go @@ -46,6 +46,10 @@ func (c *OutCommand) Run(sourceDir string, request OutRequest) (OutResponse, err Description: github.String(request.Params.Description), } + if request.Params.Target != "" { + newStatus.EnvironmentURL = github.String(request.Params.Target) + } + fmt.Fprintln(c.writer, "creating deployment status") _, err = c.github.CreateDeploymentStatus(*deployment.ID, newStatus) if err != nil { diff --git a/resources.go b/resources.go index 4fd8fd7..0ef8329 100644 --- a/resources.go +++ b/resources.go @@ -51,6 +51,7 @@ type OutResponse struct { type OutParams struct { Type string `json:"type"` ID string + Target string Ref string Environment string Task string @@ -60,6 +61,7 @@ type OutParams struct { PayloadPath string `json:"payload_path"` RawID json.RawMessage `json:"id"` + RawTarget json.RawMessage `json:"target"` RawState json.RawMessage `json:"state"` RawRef json.RawMessage `json:"ref"` RawTask json.RawMessage `json:"task"` @@ -102,6 +104,10 @@ func (p *OutParams) UnmarshalJSON(b []byte) (err error) { p.Description = getStringOrStringFromFile(p.RawDescription) } + if p.RawTarget != nil { + p.Target = getStringOrStringFromFile(p.RawTarget) + } + var payload map[string]interface{} json.Unmarshal(p.RawPayload, &payload)