func (self *NodeNameHandler) verifyNodeName(config *util.Config) (bool, error) { clientName := config.ClientName if clientName == "" { if name, err := util.Hostname(); err == nil { clientName = name config.ClientName = name } } if nodes, err := GetAllRegisteredNodesInJenkins(config); err == nil { clientName = strings.ToLower(clientName) match, bestMatch := "", "" for _, computerName := range nodes.Names { name := strings.ToLower(computerName) if name == clientName { bestMatch, match = computerName, computerName } else if len(clientName) > 0 && strings.Index(name, clientName+".") == 0 { match = computerName } } if bestMatch != "" { config.ClientName = bestMatch } else if match != "" { config.ClientName = match } return bestMatch != "" || match != "", nil } else { return false, err } }