Feat goctl bug (#1332)

* Support goctl bug

* fix typo

* format code

Co-authored-by: anqiansong <anqiansong@bytedance.com>
This commit is contained in:
anqiansong
2021-12-15 22:43:58 +08:00
committed by GitHub
parent 3d8ad5e4f6
commit 0b17e0e5d9
4 changed files with 126 additions and 0 deletions

49
tools/goctl/bug/bug.go Normal file
View File

@@ -0,0 +1,49 @@
package bug
import (
"fmt"
"net/url"
"os/exec"
"runtime"
"github.com/urfave/cli"
)
const (
windows = "windows"
darwin = "darwin"
windowsOpen = "start"
darwinOpen = "open"
linuxOpen = "xdg-open"
os = "OS"
arch = "ARCH"
goctlVersion = "GOCTL_VERSION"
)
var openCmd = map[string]string{
windows: windowsOpen,
darwin: darwinOpen,
}
func Action(_ *cli.Context) error {
env := getEnv()
content := fmt.Sprintf(issueTemplate, "<pre>\n"+env.string()+"</pre>")
content = url.QueryEscape(content)
url := fmt.Sprintf("https://github.com/zeromicro/go-zero/issues/new?title=TODO&body=%s", content)
goos := runtime.GOOS
var cmd string
var args []string
cmd, ok := openCmd[goos]
if !ok {
cmd = linuxOpen
}
if goos == windows {
args = []string{"/c", "start"}
}
args = append(args, url)
return exec.Command(cmd, args...).Start()
}