mirror of
https://github.com/drone/drone-cli.git
synced 2025-02-22 01:21:17 +01:00
53 lines
1.1 KiB
Go
53 lines
1.1 KiB
Go
package template
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"strings"
|
|
|
|
"github.com/drone/drone-cli/drone/internal"
|
|
"github.com/drone/drone-go/drone"
|
|
"github.com/urfave/cli"
|
|
)
|
|
|
|
var templateUpdateCmd = cli.Command{
|
|
Name: "update",
|
|
Usage: "update a template",
|
|
ArgsUsage: "[namespace] [name] [data]",
|
|
Action: templateUpdate,
|
|
Flags: []cli.Flag{
|
|
cli.StringFlag{
|
|
Name: "name",
|
|
Usage: "template name",
|
|
},
|
|
cli.StringFlag{
|
|
Name: "namespace",
|
|
Usage: "organization name",
|
|
},
|
|
cli.StringFlag{
|
|
Name: "data",
|
|
Usage: "template file data",
|
|
},
|
|
},
|
|
}
|
|
|
|
func templateUpdate(c *cli.Context) error {
|
|
client, err := internal.NewClient(c)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
template := &drone.Template{
|
|
Name: c.String("name"),
|
|
Namespace: c.String("namespace"),
|
|
}
|
|
if strings.HasPrefix(c.String("data"), "@") {
|
|
path := strings.TrimPrefix(c.String("data"), "@")
|
|
out, ferr := ioutil.ReadFile(path)
|
|
if ferr != nil {
|
|
return ferr
|
|
}
|
|
template.Data = string(out)
|
|
}
|
|
_, err = client.TemplateUpdate(template.Namespace, template.Name, template)
|
|
return err
|
|
}
|