diff --git a/cmd/main.go b/cmd/main.go index dfdc068..3097eb0 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -81,6 +81,11 @@ func main() { Usage: "Webhook event payload", EnvVar: "PLUGIN_EVENT_PAYLOAD", }, + cli.StringFlag{ + Name: "actor", + Usage: "User that triggered the event", + EnvVar: "PLUGIN_ACTOR", + }, // daemon flags cli.StringFlag{ @@ -179,6 +184,7 @@ func run(c *cli.Context) error { Verbose: c.Bool("action-verbose"), Image: c.String("action-image"), EventPayload: c.String("event-payload"), + Actor: c.String("actor"), }, Daemon: daemon.Daemon{ Registry: c.String("docker.registry"), diff --git a/plugin.go b/plugin.go index f5f405f..69f3a0f 100644 --- a/plugin.go +++ b/plugin.go @@ -30,6 +30,7 @@ type ( Env map[string]string Image string EventPayload string // Webhook event payload + Actor string Verbose bool } @@ -67,6 +68,12 @@ func (p Plugin) Exec() error { "--detect-event", } + // optional arguments + if p.Action.Actor != "" { + cmdArgs = append(cmdArgs, "--actor") + cmdArgs = append(cmdArgs, p.Action.Actor) + } + if p.Action.EventPayload != "" { if err := ioutil.WriteFile(eventPayloadFile, []byte(p.Action.EventPayload), 0644); err != nil { return errors.Wrap(err, "failed to write event payload to file")