webhookd/pkg/hook/script.go
Nicolas Carlier 14c214efdf refactor(): Complete refactoring.
- No external dependencies
- No predefined directory structure
- Able to launch any kind of shell script with custom parameters
- Get script output as text event stream (SSE)
- Using common Makefiles
- Extends docker/dind Docker image
2018-01-02 16:11:59 +00:00

29 lines
505 B
Go

package hook
import (
"errors"
"fmt"
"log"
"os"
"path"
)
var (
scriptsdir = os.Getenv("APP_SCRIPTS_DIR")
)
// ResolveScript is resolving the target script.
func ResolveScript(p string) (string, error) {
if scriptsdir == "" {
scriptsdir = "scripts"
}
script := path.Join(scriptsdir, fmt.Sprintf("%s.sh", p))
log.Println("Resolving script: ", script, "...")
if _, err := os.Stat(script); os.IsNotExist(err) {
return "", errors.New("Script not found: " + script)
}
return script, nil
}