func (a * App) CreateChannel (c * request.Context, channel * model.Channel, addMember bool) (*model.Channel, *model.AppError) { channel.DisplayName = strings. TrimSpace (channel.DisplayName) sc , nErr := a. Srv().Store. Channel (). Save (channel, * a. Config ().TeamSettings.MaxChannelsPerTeam) if nErr != nil { var invErr * store.ErrInvalidInput var cErr * store.ErrConflict var ltErr * store.ErrLimitExceeded var appErr * model.AppError switch { case errors. As (nErr, & invErr): switch { case invErr.Entity == "Channel" && invErr.Field == "DeleteAt" : return nil , model. NewAppError ( "CreateChannel" , "store.sql_channel.save.archived_channel.app_error",ni l, "", http.StatusBadRequest) case invErr.Entity == "Channel" && invErr.Field == "Type" : return nil , model. NewAppError ( "CreateChannel" , "store.sql_channel.save.direct_channel.app_error", nil, "", http. StatusBadRequest) case invErr.Entity == "Channel" && invErr.Field == "Id" : return nil , model. NewAppError ( "CreateChannel" , "store.sql_channel.save_channel.existing.app_error",nil,"i d="+invErr.Value.(string),http.StatusBadRequest) } case errors. As (nErr, & cErr): return sc, model. NewAppError ( "CreateChannel" , store.ChannelExistsError, nil, cErr.Error(), http.StatusBadRequest) case errors. As (nErr, & ltErr): return nil , model. NewAppError ( "CreateChannel" , "store.sql_channel.save_channel.li mit.app_error",nil,ltErr.Error(),http.StatusBadRequest) case errors. As (nErr, & appErr): // in case we haven't converted to plain error. return nil ,appErr default : // last fallback in case it doesn't map to an existing app error. return nil , model. NewAppError ( "CreateChannel" , "app.channel.create_channel.internal_er ror", nil, nErr.Error(), http.StatusInternalServerError) } } Mastering digital operations is hard... and it’s only getting harder R&D teams continue to lead the shift to the agile, digital enterprise, but doing so is no easy feat. Companies recognize the critical role that these developers play. Still, mastering digital operations requires alignment across teams, tools, and processes across each stage of the development lifecycle — from planning and building software to releasing and maintaining it. But most of the existing tools are fragmented and siloed, while workflows are fragile and developers are frustrated by friction and misalignment. The numbers speak for themselves: Add to this the mounting pressure of incidents, emergencies, and shifting priorities, and it’s no wonder that fewer than 18% of software leaders say their teams are truly agile. Developers have tried using general-purpose collaboration tools to stitch together their digital operations, but it hasn’t worked. Constant workarounds lead to fragile processes and siloed data that keeps teams from optimizing production efforts while pulling resources away from development work. These tools simply lack the customization, extensibility, integration, and security required to unite the people with the processes and technologies modern development teams rely on. Make your work flow with Mattermost Unlike other solutions, Mattermost is explicitly built for R&D use cases. Our platform brings together team communication, task and project management, and workflow orchestration into a unified platform for agile software development. With Mattermost, developers can communicate, collaborate, and operate across tools and teams. We help you stay productive and collaborate outside of code by aligning your tools, people, and processes — all in one place. Mattermost has deep integrations with the tools you use every day, providing you with a single point of collaboration, so you have greater visibility and control of your team’s work. We provide open access to our source code, so your team has the power to customize solutions based upon their specific use cases, as well as playbooks and automation that you can define and adapt. We’re also the only solution that offers self-hosted and secure cloud deployment options so that you always have complete control over your data to meet the strictest security, privacy, and compliance requirements. Research shows that up to 16 hours a week — equivalent to 39% of a developer’s salaried time — is wasted due to tool fragmentation, manual tasks, and managing weakly defined workflows. “ Mattermost has brought modern c ollaboration to the whole organization.” David Rowe Manager of IT Systems Support

This is a modal window.