mirror of
https://github.com/coder/coder.git
synced 2025-07-09 11:45:56 +00:00
chore: improve error message around gitaskpass failures (#9407)
This commit is contained in:
@ -44,7 +44,13 @@ func (r *RootCmd) gitAskpass() *clibase.Cmd {
|
||||
if errors.As(err, &apiError) && apiError.StatusCode() == http.StatusNotFound {
|
||||
// This prevents the "Run 'coder --help' for usage"
|
||||
// message from occurring.
|
||||
cliui.Errorf(inv.Stderr, "%s\n", apiError.Message)
|
||||
lines := []string{apiError.Message}
|
||||
if apiError.Detail != "" {
|
||||
lines = append(lines, apiError.Detail)
|
||||
}
|
||||
cliui.Warn(inv.Stderr, "Coder was unable to handle this git request. The default git behavior will be used instead.",
|
||||
lines...,
|
||||
)
|
||||
return cliui.Canceled
|
||||
}
|
||||
return xerrors.Errorf("get git token: %w", err)
|
||||
|
@ -1996,8 +1996,17 @@ func (api *API) workspaceAgentsGitAuth(rw http.ResponseWriter, r *http.Request)
|
||||
gitAuthConfig = gitAuth
|
||||
}
|
||||
if gitAuthConfig == nil {
|
||||
detail := "No git providers are configured."
|
||||
if len(api.GitAuthConfigs) > 0 {
|
||||
regexURLs := make([]string, 0, len(api.GitAuthConfigs))
|
||||
for _, gitAuth := range api.GitAuthConfigs {
|
||||
regexURLs = append(regexURLs, fmt.Sprintf("%s=%q", gitAuth.ID, gitAuth.Regex.String()))
|
||||
}
|
||||
detail = fmt.Sprintf("The configured git provider have regex filters that do not match the git url. Provider url regexs: %s", strings.Join(regexURLs, ","))
|
||||
}
|
||||
httpapi.Write(ctx, rw, http.StatusNotFound, codersdk.Response{
|
||||
Message: fmt.Sprintf("No git provider found for URL %q", gitURL),
|
||||
Message: fmt.Sprintf("No matching git provider found in Coder for the url %q.", gitURL),
|
||||
Detail: detail,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
Reference in New Issue
Block a user