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 {
|
if errors.As(err, &apiError) && apiError.StatusCode() == http.StatusNotFound {
|
||||||
// This prevents the "Run 'coder --help' for usage"
|
// This prevents the "Run 'coder --help' for usage"
|
||||||
// message from occurring.
|
// 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 cliui.Canceled
|
||||||
}
|
}
|
||||||
return xerrors.Errorf("get git token: %w", err)
|
return xerrors.Errorf("get git token: %w", err)
|
||||||
|
@ -1996,8 +1996,17 @@ func (api *API) workspaceAgentsGitAuth(rw http.ResponseWriter, r *http.Request)
|
|||||||
gitAuthConfig = gitAuth
|
gitAuthConfig = gitAuth
|
||||||
}
|
}
|
||||||
if gitAuthConfig == nil {
|
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{
|
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
|
return
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user