diff --git a/server/channels/api4/work_templates.go b/server/channels/api4/work_templates.go index bf3d5860b7..bdabd86df1 100644 --- a/server/channels/api4/work_templates.go +++ b/server/channels/api4/work_templates.go @@ -11,6 +11,8 @@ import ( "github.com/mattermost/mattermost-server/server/v8/model" ) +const WorkTemplateContextOnboarding = "onboarding" + func (api *API) InitWorkTemplate() { api.BaseRoutes.WorkTemplates.Handle("/categories", api.APISessionRequired(getWorkTemplateCategories)).Methods("GET") api.BaseRoutes.WorkTemplates.Handle("/categories/{category}/templates", api.APISessionRequired(getWorkTemplates)).Methods("GET") @@ -62,7 +64,13 @@ func getWorkTemplates(c *Context, w http.ResponseWriter, r *http.Request) { } t := c.AppContext.GetT() - workTemplates, appErr := c.App.GetWorkTemplates(c.Params.Category, c.App.Config().FeatureFlags.ToMap(), t) + context := r.URL.Query().Get("context") + isOnboarding := false + if context == WorkTemplateContextOnboarding { + isOnboarding = true + } + + workTemplates, appErr := c.App.GetWorkTemplates(c.Params.Category, c.App.Config().FeatureFlags.ToMap(), isOnboarding, t) if appErr != nil { c.Err = appErr return diff --git a/server/channels/app/app_iface.go b/server/channels/app/app_iface.go index 0ca3855d0c..704296f8b3 100644 --- a/server/channels/app/app_iface.go +++ b/server/channels/app/app_iface.go @@ -861,7 +861,7 @@ type AppIface interface { GetWarnMetricsBot() (*model.Bot, *model.AppError) GetWarnMetricsStatus() (map[string]*model.WarnMetricStatus, *model.AppError) GetWorkTemplateCategories(t i18n.TranslateFunc) ([]*model.WorkTemplateCategory, *model.AppError) - GetWorkTemplates(category string, featureFlags map[string]string, t i18n.TranslateFunc) ([]*model.WorkTemplate, *model.AppError) + GetWorkTemplates(category string, featureFlags map[string]string, includeOnboardingTemplates bool, t i18n.TranslateFunc) ([]*model.WorkTemplate, *model.AppError) HTTPService() httpservice.HTTPService Handle404(w http.ResponseWriter, r *http.Request) HandleCommandResponse(c request.CTX, command *model.Command, args *model.CommandArgs, response *model.CommandResponse, builtIn bool) (*model.CommandResponse, *model.AppError) diff --git a/server/channels/app/onboarding.go b/server/channels/app/onboarding.go index 3b76aefe53..df4015c7e9 100644 --- a/server/channels/app/onboarding.go +++ b/server/channels/app/onboarding.go @@ -41,11 +41,20 @@ func (a *App) CompleteOnboarding(c *request.Context, request *model.CompleteOnbo Value: request.Organization, }) if err != nil { - // don't block onboarding because of that. a.Log().Error("failed to save organization name", mlog.Err(err)) } } + if request.Role != "" { + err := a.Srv().Store().System().SaveOrUpdate(&model.System{ + Name: model.SystemFirstAdminRole, + Value: request.Role, + }) + if err != nil { + a.Log().Error("failed to save first admin role", mlog.Err(err)) + } + } + pluginsEnvironment := a.Channels().GetPluginsEnvironment() if pluginsEnvironment == nil { return a.markAdminOnboardingComplete(c) @@ -54,7 +63,6 @@ func (a *App) CompleteOnboarding(c *request.Context, request *model.CompleteOnbo pluginContext := pluginContext(c) for _, pluginID := range request.InstallPlugins { - go func(id string) { installRequest := &model.InstallMarketplacePluginRequest{ Id: id, diff --git a/server/channels/app/onboarding_test.go b/server/channels/app/onboarding_test.go index cf8462cf28..208620f730 100644 --- a/server/channels/app/onboarding_test.go +++ b/server/channels/app/onboarding_test.go @@ -28,3 +28,21 @@ func TestOnboardingSavesOrganizationName(t *testing.T) { require.NoError(t, storeErr) require.Equal(t, "Mattermost In Tests", sys.Value) } + +func TestOnboardingFirstAdminRole(t *testing.T) { + th := Setup(t) + defer th.TearDown() + + err := th.App.CompleteOnboarding(&request.Context{}, &mm_model.CompleteOnboardingRequest{ + Organization: "myorg", + Role: "engineering", + }) + require.Nil(t, err) + defer func() { + th.App.Srv().Store().System().PermanentDeleteByName(mm_model.SystemFirstAdminRole) + }() + + sys, storeErr := th.App.Srv().Store().System().GetByName(mm_model.SystemFirstAdminRole) + require.NoError(t, storeErr) + require.Equal(t, "engineering", sys.Value) +} diff --git a/server/channels/app/opentracing/opentracing_layer.go b/server/channels/app/opentracing/opentracing_layer.go index 39827e4e9d..130a740995 100644 --- a/server/channels/app/opentracing/opentracing_layer.go +++ b/server/channels/app/opentracing/opentracing_layer.go @@ -11382,7 +11382,7 @@ func (a *OpenTracingAppLayer) GetWorkTemplateCategories(t i18n.TranslateFunc) ([ return resultVar0, resultVar1 } -func (a *OpenTracingAppLayer) GetWorkTemplates(category string, featureFlags map[string]string, t i18n.TranslateFunc) ([]*model.WorkTemplate, *model.AppError) { +func (a *OpenTracingAppLayer) GetWorkTemplates(category string, featureFlags map[string]string, includeOnboardingTemplates bool, t i18n.TranslateFunc) ([]*model.WorkTemplate, *model.AppError) { origCtx := a.ctx span, newCtx := tracing.StartSpanWithParentByContext(a.ctx, "app.GetWorkTemplates") @@ -11394,7 +11394,7 @@ func (a *OpenTracingAppLayer) GetWorkTemplates(category string, featureFlags map }() defer span.Finish() - resultVar0, resultVar1 := a.app.GetWorkTemplates(category, featureFlags, t) + resultVar0, resultVar1 := a.app.GetWorkTemplates(category, featureFlags, includeOnboardingTemplates, t) if resultVar1 != nil { span.LogFields(spanlog.Error(resultVar1)) diff --git a/server/channels/app/work_template_executor.go b/server/channels/app/work_template_executor.go index 360feb2427..63b680387c 100644 --- a/server/channels/app/work_template_executor.go +++ b/server/channels/app/work_template_executor.go @@ -11,6 +11,7 @@ import ( "strings" pbclient "github.com/mattermost/mattermost-server/server/v8/playbooks/client" + "github.com/mattermost/mattermost-server/server/v8/plugin" fb_model "github.com/mattermost/mattermost-server/server/v8/boards/model" @@ -250,6 +251,26 @@ func (e *appWorkTemplateExecutor) InstallPlugin( if err := e.app.EnablePlugin(pluginID); err != nil { return fmt.Errorf("unable to enable plugin: %w", err) } + + hooks, err := e.app.ch.HooksForPluginOrProduct(pluginID) + if err != nil { + mlog.Warn("Getting hooks for plugin failed", mlog.String("plugin_id", pluginID), mlog.Err(err)) + return nil + } + + event := model.OnInstallEvent{ + UserId: c.Session().UserId, + } + + if err = hooks.OnInstall(&plugin.Context{ + RequestId: c.RequestId(), + SessionId: c.Session().Id, + IPAddress: c.IPAddress(), + AcceptLanguage: c.AcceptLanguage(), + UserAgent: c.UserAgent(), + }, event); err != nil { + mlog.Error("Plugin OnInstall hook failed", mlog.String("plugin_id", pluginID), mlog.Err(err)) + } return nil } diff --git a/server/channels/app/work_templates.go b/server/channels/app/work_templates.go index c2754da849..7d53d3dad3 100644 --- a/server/channels/app/work_templates.go +++ b/server/channels/app/work_templates.go @@ -29,8 +29,8 @@ func (a *App) GetWorkTemplateCategories(t i18n.TranslateFunc) ([]*model.WorkTemp return modelCategories, nil } -func (a *App) GetWorkTemplates(category string, featureFlags map[string]string, t i18n.TranslateFunc) ([]*model.WorkTemplate, *model.AppError) { - templates, err := worktemplates.ListByCategory(category) +func (a *App) GetWorkTemplates(category string, featureFlags map[string]string, includeOnboardingTemplates bool, t i18n.TranslateFunc) ([]*model.WorkTemplate, *model.AppError) { + templates, err := worktemplates.ListByCategory(category, includeOnboardingTemplates) if err != nil { return nil, model.NewAppError("GetWorkTemplates", "app.worktemplates.get_templates.app_error", nil, "", http.StatusInternalServerError).Wrap(err) } diff --git a/server/channels/app/work_templates_test.go b/server/channels/app/work_templates_test.go index 1ca5332f3a..c33ec85d24 100644 --- a/server/channels/app/work_templates_test.go +++ b/server/channels/app/work_templates_test.go @@ -90,6 +90,12 @@ func TestGetWorkTemplatesByCategory(t *testing.T) { }, }, }, + { + ID: "test-template-4", + Category: firstCat.ID, + UseCase: "test use case 4", + OnboardingOnly: true, + }, { // this one should not be returned because of the category ID: "test-template-4", Category: "cat-test2", @@ -97,18 +103,30 @@ func TestGetWorkTemplatesByCategory(t *testing.T) { }, } - // Act - worktemplates, appErr := th.App.GetWorkTemplates(firstCat.ID, ff, wtTranslationFunc) + t.Run("not onboarding", func(t *testing.T) { + // Act + worktemplates, appErr := th.App.GetWorkTemplates(firstCat.ID, ff, false, wtTranslationFunc) - // Assert - assert.Nil(appErr) - assert.Len(worktemplates, 2) - // assert the correct work templates have been returned - assert.Equal("test-template", worktemplates[0].ID) - assert.Equal("test-template-3", worktemplates[1].ID) - // assert the descriptions have been translated - assert.Equal("Translated test-template-channel-description", worktemplates[0].Description.Channel.Message) - assert.Equal("default message picked for unknown", worktemplates[1].Description.Channel.Message) + // Assert + assert.Nil(appErr) + assert.Len(worktemplates, 2) + // assert the correct work templates have been returned + assert.Equal("test-template", worktemplates[0].ID) + assert.Equal("test-template-3", worktemplates[1].ID) + // assert the descriptions have been translated + assert.Equal("Translated test-template-channel-description", worktemplates[0].Description.Channel.Message) + assert.Equal("default message picked for unknown", worktemplates[1].Description.Channel.Message) + }) + + t.Run("onboarding", func(t *testing.T) { + // Act + worktemplates, appErr := th.App.GetWorkTemplates(firstCat.ID, ff, true, wtTranslationFunc) + + // Assert + assert.Nil(appErr) + assert.Len(worktemplates, 3) + assert.Equal("test-template-4", worktemplates[2].ID) + }) } // helpers diff --git a/server/channels/app/worktemplates/categories.yaml b/server/channels/app/worktemplates/categories.yaml index 757ca869f7..4926970a2e 100644 --- a/server/channels/app/worktemplates/categories.yaml +++ b/server/channels/app/worktemplates/categories.yaml @@ -2,7 +2,17 @@ name: worktemplate.category.product_teams - id: devops name: worktemplate.category.devops -- id: companywide - name: worktemplate.category.companywide - id: leadership name: worktemplate.category.leadership +- id: engineering + name: worktemplate.category.engineering +- id: project_management + name: worktemplate.category.project_management +- id: marketing + name: worktemplate.category.marketing +- id: design + name: worktemplate.category.design +- id: qa + name: worktemplate.category.qa +- id: other + name: worktemplate.category.other diff --git a/server/channels/app/worktemplates/generator/main.go b/server/channels/app/worktemplates/generator/main.go index 1282ae416a..6509f04ec1 100644 --- a/server/channels/app/worktemplates/generator/main.go +++ b/server/channels/app/worktemplates/generator/main.go @@ -43,6 +43,8 @@ func main() { log.Fatal(errors.Wrap(err, "failed to read categories.yaml")) } + illustrations := []string{} + h := md5.New() cats := []WorkTemplateCategoryWithMD5{} // meow @@ -53,6 +55,7 @@ func main() { // validate categories categoryIds := map[string]struct{}{} + lastCategory := "" for id := range cats { cat := cats[id] @@ -67,12 +70,16 @@ func main() { if cat.Name == "" { log.Fatal(errors.New("category name cannot be empty")) } + lastCategory = cat.ID categoryIds[cat.ID] = struct{}{} h.Write([]byte(cat.ID)) cats[id].MD5 = fmt.Sprintf("%x", h.Sum(nil)) h.Reset() } + if lastCategory != "other" { + log.Fatal(errors.New("category 'other' must exist AND be the last category")) + } dat, err = getFileContent("templates.yaml") if err != nil { @@ -105,6 +112,33 @@ func main() { MD5: fmt.Sprintf("%x", h.Sum(nil)), }) h.Reset() + + // add illustrations to the list + illustrations = append(illustrations, t.Illustration) + if t.Description.Channel != nil && t.Description.Channel.Illustration != "" { + illustrations = append(illustrations, t.Description.Channel.Illustration) + } + if t.Description.Board != nil && t.Description.Board.Illustration != "" { + illustrations = append(illustrations, t.Description.Board.Illustration) + } + if t.Description.Integration != nil && t.Description.Integration.Illustration != "" { + illustrations = append(illustrations, t.Description.Integration.Illustration) + } + if t.Description.Playbook != nil && t.Description.Playbook.Illustration != "" { + illustrations = append(illustrations, t.Description.Playbook.Illustration) + } + + for i := range t.Content { + if t.Content[i].Channel != nil && t.Content[i].Channel.Illustration != "" { + illustrations = append(illustrations, t.Content[i].Channel.Illustration) + } + if t.Content[i].Board != nil && t.Content[i].Board.Illustration != "" { + illustrations = append(illustrations, t.Content[i].Board.Illustration) + } + if t.Content[i].Playbook != nil && t.Content[i].Playbook.Illustration != "" { + illustrations = append(illustrations, t.Content[i].Playbook.Illustration) + } + } } code := bytes.NewBuffer(nil) @@ -146,6 +180,15 @@ func main() { translationHelper(t.Description.Integration) translationHelper(t.Description.Playbook) } + + fmt.Println("Missing illustrations:") + for _, illustration := range illustrations { + // check if file exists + illusPath := path.Join("../../../../webapp/channels/src/images", illustration[8:]) + if _, err := os.Stat(illusPath); os.IsNotExist(err) { + fmt.Println("\t" + illusPath) + } + } } var translationHelperTemplate = `{ diff --git a/server/channels/app/worktemplates/generator/worktemplate.tmpl b/server/channels/app/worktemplates/generator/worktemplate.tmpl index 52d8d0be5f..aac25e1838 100644 --- a/server/channels/app/worktemplates/generator/worktemplate.tmpl +++ b/server/channels/app/worktemplates/generator/worktemplate.tmpl @@ -46,6 +46,7 @@ var wt{{.MD5}} = &WorkTemplate{ UseCase: "{{.UseCase}}", Illustration: "{{.Illustration}}", Visibility: "{{.Visibility}}", + OnboardingOnly: {{.OnboardingOnly}}, {{if .FeatureFlag}}FeatureFlag: &FeatureFlag{ Name: "{{.FeatureFlag.Name}}", Value: "{{.FeatureFlag.Value}}", diff --git a/server/channels/app/worktemplates/templates.yaml b/server/channels/app/worktemplates/templates.yaml index 362b014a71..e747323ee2 100644 --- a/server/channels/app/worktemplates/templates.yaml +++ b/server/channels/app/worktemplates/templates.yaml @@ -3,7 +3,7 @@ ###################### id: "product_teams/feature_release:v1" category: product_teams -useCase: Manage feature release +useCase: Feature Development illustration: /static/worktemplates/product_teams/feature_release/feature_release.png visibility: public description: @@ -50,6 +50,30 @@ content: id: github recommended: true --- +id: 'product_teams/product_roadmap:v1' +category: product_teams +useCase: Create a product roadmap +illustration: /static/worktemplates/product_teams/product_roadmap/product_roadmap.png +visibility: public +description: + channel: + id: worktemplate.product_teams.product_roadmap.channel + defaultMessage: Chat with your team about your customers' feedback, prioritization, and get aligned on progress together. + board: + id: worktemplate.product_teams.product_roadmap.board + defaultMessage: Use the Product Roadmap board to manage user feedback, assign resources, view deliverables in a calendar view, and prioritize issues. +content: + - channel: + id: channel-1674851139450 + illustration: /static/worktemplates/product_teams/product_roadmap/channel.png + name: Product Roadmap + - board: + id: board-1674851139759 + template: b728c6ca730e2cfc229741c5a4712b65 + name: Product Roadmap + illustration: /static/worktemplates/boards/roadmap.png + channel: channel-1674851139450 +--- id: 'product_teams/goals_and_okrs:v1' category: product_teams useCase: Set goals and OKR's @@ -158,29 +182,17 @@ content: id: zoom recommended: true --- -id: 'product_teams/product_roadmap:v1' +id: 'product_teams/quick_start:v1' category: product_teams -useCase: Create a product roadmap -illustration: /static/worktemplates/product_teams/product_roadmap/product_roadmap.png +useCase: Quick Start FIXME +illustration: /static/worktemplates/product_teams/quick_start/quick_start.png visibility: public -description: - channel: - id: worktemplate.product_teams.product_roadmap.channel - defaultMessage: Chat with your team about your customers' feedback, prioritization, and get aligned on progress together. - board: - id: worktemplate.product_teams.product_roadmap.board - defaultMessage: Use the Product Roadmap board to manage user feedback, assign resources, view deliverables in a calendar view, and prioritize issues. +onboardingOnly: true content: - channel: - id: channel-1674851139450 - illustration: /static/worktemplates/product_teams/product_roadmap/channel.png - name: Product Roadmap - - board: - id: board-1674851139759 - template: b728c6ca730e2cfc229741c5a4712b65 - name: Product Roadmap - illustration: /static/worktemplates/boards/roadmap.png - channel: channel-1674851139450 + id: channel-qs + illustration: /static/worktemplates/product_teams/quick_start/channel.png + name: Quick Start --- ###################### # DEVOPS @@ -251,59 +263,22 @@ content: name: Product Release playbook: playbook-1674851385983 --- -###################### -# COMPANY WIDE -###################### -id: 'companywide/goals_and_okrs:v1' -category: companywide -useCase: Set goals and OKR's -illustration: /static/worktemplates/companywide/goals_and_okrs/goals_and_okrs.png +id: 'devops/create_project:v1' +category: devops +useCase: Project Management +illustration: /static/worktemplates/devops/create_project/create_project.png visibility: public description: channel: - id: worktemplate.companywide.goals_and_okrs.channel - defaultMessage: >- - Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel. - board: - id: worktemplate.companywide.goals_and_okrs.board - defaultMessage: >- - Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board. - integration: - id: worktemplate.companywide.goals_and_okrs.integration - defaultMessage: >- - Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you. - illustration: /static/worktemplates/integrations.png -content: - - channel: - id: channel-1674845108569 - illustration: /static/worktemplates/companywide/goals_and_okrs/channel.png - name: Goals and OKR - - board: - id: board-1674845139258 - template: 7ba22ccfdfac391d63dea5c4b8cde0de - name: Goals and OKR - illustration: /static/worktemplates/boards/company_goal_and_okrs.png - channel: channel-1674845108569 - - integration: - id: zoom - recommended: true ---- -id: 'companywide/create_project:v1' -category: companywide -useCase: Create a project -illustration: /static/worktemplates/companywide/create_project/create_project.png -visibility: public -description: - channel: - id: worktemplate.companywide.create_project.channel + id: worktemplate.devops.create_project.channel defaultMessage: >- Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel. board: - id: worktemplate.companywide.create_project.board + id: worktemplate.devops.create_project.board defaultMessage: >- Use a Kanban board to define and track your project tasks and progress. integration: - id: worktemplate.companywide.create_project.integration + id: worktemplate.devops.create_project.integration defaultMessage: >- Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you. illustration: /static/worktemplates/integrations.png @@ -311,7 +286,7 @@ content: - channel: id: channel-1674851940114 illustration: >- - /static/worktemplates/companywide/create_project/channel.png + /static/worktemplates/devops/create_project/channel.png name: Create Project - board: id: board-1674851940548 @@ -329,6 +304,86 @@ content: id: zoom recommended: true --- +id: 'devops/sprint_planning:v1' +category: devops +useCase: Plan sprints +illustration: /static/worktemplates/devops/sprint_planning/sprint_planning.png +visibility: public +description: + channel: + id: worktemplate.devops.sprint_planning.channel + defaultMessage: >- + Chat with your team in a channel that connects easily with your boards and integrations. + board: + id: worktemplate.devops.sprint_planning.board + defaultMessage: >- + Track your team's progress toward weekly goals with sprint breakdowns, prioritization, owner assignment, and comments. + integration: + id: worktemplate.devops.sprint_planning.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools, such as Zoom. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674850783500 + illustration: /static/worktemplates/devops/sprint_planning/channel.png + name: Sprint planning + - board: + id: board-1674850783973 + template: 99b74e26d2f5d0a9b346d43c0a7bfb09 + name: Sprint planning + illustration: /static/worktemplates/boards/sprint_planner.png + channel: channel-1674850783500 + - integration: + id: zoom + recommended: true +--- +id: 'devops/bug_bash:v1' +category: devops +useCase: Run a bug bash +illustration: /static/worktemplates/devops/bug_bash/bug_bash.png +visibility: public +description: + channel: + id: worktemplate.devops.bug_bash.channel + defaultMessage: >- + Plan and manage bug reports and resolutions in a single channel, that’s easily accessible to your team and organization. + playbook: + id: worktemplate.devops.bug_bash.playbook + defaultMessage: >- + Use checklists to assign testing areas and automated tasks to run a comprehensive bug bash process. Use a retrospective to review your process and improve it for next time. + integration: + id: worktemplate.devops.bug_bash.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools, such as Jira, to track your bug bash progress. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - playbook: + id: playbook-1674844017943 + template: Bug Bash + name: Bug Bash + illustration: /static/worktemplates/playbooks/bug_bash.png + - channel: + id: channel-1674844017943 + illustration: /static/worktemplates/devops/bug_bash/channel.png + name: Bug Bash + playbook: playbook-1674844017943 + - integration: + id: jira + recommended: true +--- +id: 'devops/quick_start:v1' +category: devops +useCase: Quick Start FIXME +illustration: /static/worktemplates/devops/quick_start/quick_start.png +visibility: public +onboardingOnly: true +content: + - channel: + id: channel-qs + illustration: /static/worktemplates/devops/quick_start/channel.png + name: Quick Start +--- ###################### # Leadership ###################### @@ -365,3 +420,1266 @@ content: - integration: id: zoom recommended: true +--- +id: 'leadership/create_project:v1' +category: leadership +useCase: Project Management +illustration: /static/worktemplates/leadership/create_project/create_project.png +visibility: public +description: + channel: + id: worktemplate.leadership.create_project.channel + defaultMessage: >- + Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel. + board: + id: worktemplate.leadership.create_project.board + defaultMessage: >- + Use a Kanban board to define and track your project tasks and progress. + integration: + id: worktemplate.leadership.create_project.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674851940114 + illustration: >- + /static/worktemplates/leadership/create_project/channel.png + name: Create Project + - board: + id: board-1674851940548 + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Create Project + illustration: /static/worktemplates/boards/project_tasks.png + channel: channel-1674851940114 + - integration: + id: jira + recommended: true + - integration: + id: github + recommended: true + - integration: + id: zoom + recommended: true +--- +id: 'leadership/incident_resolution:v1' +category: leadership +useCase: Resolve incidents +illustration: /static/worktemplates/leadership/incident_resolution/incident_resolution.png +visibility: public +description: + channel: + id: "worktemplate.leadership.incident_resolution.description.channel" + defaultMessage: "Chat with your team about priorities, add stakeholders, provide updates, and work toward a resolution in a single channel." + board: + id: "worktemplate.leadership.incident_resolution.description.board" + defaultMessage: "Use the Incident Resolution board to support repeatable processes and assign defined tasks across the team." + playbook: + id: "worktemplate.leadership.incident_resolution.description.playbook" + defaultMessage: "Use checklists and automation to bring in key team members, and share how your incident is tracking toward resolution." +content: + - playbook: + id: irpb + template: Incident Resolution + name: Incident Resolution + illustration: /static/worktemplates/playbooks/incident_resolution.png + - channel: + id: irc + illustration: /static/worktemplates/leadership/incident_resolution/channel.png + name: Incident Resolution + playbook: irpb + - board: + id: irb + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Incident Resolution + illustration: /static/worktemplates/boards/project_tasks.png + channel: irc +--- +id: 'leadership/content_calendar:v1' +category: leadership +useCase: Content Calendar +illustration: /static/worktemplates/leadership/content_calendar/content_calendar.png +visibility: public +description: + channel: + id: worktemplate.leadership.content_calendar.channel + defaultMessage: >- + Share content ideas, trending posts, blog links, and mentions in a dedicated channel. + board: + id: worktemplate.leadership.content_calendar.board + defaultMessage: >- + Use the Content Calendar boad to track ideas, plan your content themes, manage the creation process, and set milestones. +content: + - channel: + id: channel-ct + illustration: /static/worktemplates/leadership/content_calendar/channel.png + name: Content Calendar + - board: + id: board-ct + template: c75fbd659d2258b5183af2236d176ab4 + name: Content Calendar + illustration: /static/worktemplates/boards/content_calendar.png + channel: channel-ct +--- +id: 'leadership/quick_start:v1' +category: leadership +useCase: Quick Start FIXME +illustration: /static/worktemplates/leadership/quick_start/quick_start.png +visibility: public +onboardingOnly: true +content: + - channel: + id: channel-qs + illustration: /static/worktemplates/leadership/quick_start/channel.png + name: Quick Start +--- +###################### +# Engineering +###################### +id: "engineering/feature_release:v1" +category: engineering +useCase: Feature Development +illustration: /static/worktemplates/engineering/feature_release/feature_release.png +visibility: public +description: + channel: + id: "worktemplate.engineering.feature_release.description.channel" + defaultMessage: "Chat with your team about any release blockers and changes in a channel that connects easily with your boards, playbooks and other integrations." + board: + id: "worktemplate.engineering.feature_release.description.board" + defaultMessage: "Keep meetings on track with the Meeting Agenda board. Manage your workload with the Project Tasks board." + playbook: + id: "worktemplate.engineering.feature_release.description.playbook" + defaultMessage: "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you’re done, run a retrospective and make improvements for your next release." + integration: + id: "worktemplate.engineering.feature_release.description.integration" + defaultMessage: "Increase productivity in your channel by integrating your most commonly used tools to support your feature release, such as GitHub. These will be downloaded for you." + illustration: "/static/worktemplates/integrations.png" +content: + - channel: + id: feature-release + name: Feature Release + playbook: product-release-playbook + illustration: "/static/worktemplates/engineering/feature_release/channel.png" + - board: + id: "board-meeting-agenda" + template: "54fcf9c610f0ac5e4c522c0657c90602" + name: Meeting Agenda + channel: feature-release + illustration: "/static/worktemplates/boards/meeting_agenda.png" + - board: + id: "board-project-task" + template: "a4ec399ab4f2088b1051c3cdf1dde4c3" + name: Project Task + channel: feature-release + illustration: "/static/worktemplates/boards/project_tasks.png" + - playbook: + template: "Product Release" + name: "Feature release" + id: product-release-playbook + illustration: "/static/worktemplates/playbooks/product_release.png" + - integration: + id: jira + recommended: true + - integration: + id: github + recommended: true +--- +id: 'engineering/bug_bash:v1' +category: engineering +useCase: Run a bug bash +illustration: /static/worktemplates/engineering/bug_bash/bug_bash.png +visibility: public +description: + channel: + id: worktemplate.engineering.bug_bash.channel + defaultMessage: >- + Plan and manage bug reports and resolutions in a single channel, that’s easily accessible to your team and organization. + playbook: + id: worktemplate.engineering.bug_bash.playbook + defaultMessage: >- + Use checklists to assign testing areas and automated tasks to run a comprehensive bug bash process. Use a retrospective to review your process and improve it for next time. + integration: + id: worktemplate.engineering.bug_bash.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools, such as Jira, to track your bug bash progress. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - playbook: + id: playbook-1674844017943 + template: Bug Bash + name: Bug Bash + illustration: /static/worktemplates/playbooks/bug_bash.png + - channel: + id: channel-1674844017943 + illustration: /static/worktemplates/engineering/bug_bash/channel.png + name: Bug Bash + playbook: playbook-1674844017943 + - integration: + id: jira + recommended: true +--- +id: 'engineering/sprint_planning:v1' +category: engineering +useCase: Plan sprints +illustration: /static/worktemplates/engineering/sprint_planning/sprint_planning.png +visibility: public +description: + channel: + id: worktemplate.engineering.sprint_planning.channel + defaultMessage: >- + Chat with your team in a channel that connects easily with your boards and integrations. + board: + id: worktemplate.engineering.sprint_planning.board + defaultMessage: >- + Track your team's progress toward weekly goals with sprint breakdowns, prioritization, owner assignment, and comments. + integration: + id: worktemplate.engineering.sprint_planning.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools, such as Zoom. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674850783500 + illustration: /static/worktemplates/engineering/sprint_planning/channel.png + name: Sprint planning + - board: + id: board-1674850783973 + template: 99b74e26d2f5d0a9b346d43c0a7bfb09 + name: Sprint planning + illustration: /static/worktemplates/boards/sprint_planner.png + channel: channel-1674850783500 + - integration: + id: zoom + recommended: true +--- +id: 'engineering/goals_and_okrs:v1' +category: engineering +useCase: Set goals and OKR's +illustration: /static/worktemplates/engineering/goals_and_okrs/goals_and_okrs.png +visibility: public +description: + channel: + id: worktemplate.engineering.goals_and_okrs.channel + defaultMessage: >- + Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel. + board: + id: worktemplate.engineering.goals_and_okrs.board + defaultMessage: >- + Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board. + integration: + id: worktemplate.engineering.goals_and_okrs.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674845108569 + illustration: /static/worktemplates/engineering/goals_and_okrs/channel.png + name: Goals and OKR + - board: + id: board-1674845139258 + template: 7ba22ccfdfac391d63dea5c4b8cde0de + name: Goals and OKR + illustration: /static/worktemplates/boards/company_goal_and_okrs.png + channel: channel-1674845108569 + - integration: + id: zoom + recommended: true +--- +id: 'engineering/create_project:v1' +category: engineering +useCase: Project Management +illustration: /static/worktemplates/engineering/create_project/create_project.png +visibility: public +description: + channel: + id: worktemplate.engineering.create_project.channel + defaultMessage: >- + Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel. + board: + id: worktemplate.engineering.create_project.board + defaultMessage: >- + Use a Kanban board to define and track your project tasks and progress. + integration: + id: worktemplate.engineering.create_project.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674851940114 + illustration: >- + /static/worktemplates/engineering/create_project/channel.png + name: Create Project + - board: + id: board-1674851940548 + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Create Project + illustration: /static/worktemplates/boards/project_tasks.png + channel: channel-1674851940114 + - integration: + id: jira + recommended: true + - integration: + id: github + recommended: true + - integration: + id: zoom + recommended: true +--- +id: 'engineering/quick_start:v1' +category: engineering +useCase: Quick Start FIXME +illustration: /static/worktemplates/engineering/quick_start/quick_start.png +visibility: public +onboardingOnly: true +content: + - channel: + id: channel-qs + illustration: /static/worktemplates/engineering/quick_start/channel.png + name: Quick Start +--- +###################### +# PROJECT MANAGEMENT +###################### +id: 'project_management/create_project:v1' +category: project_management +useCase: Project Management +illustration: /static/worktemplates/project_management/create_project/create_project.png +visibility: public +description: + channel: + id: worktemplate.project_management.create_project.channel + defaultMessage: >- + Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel. + board: + id: worktemplate.project_management.create_project.board + defaultMessage: >- + Use a Kanban board to define and track your project tasks and progress. + integration: + id: worktemplate.project_management.create_project.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674851940114 + illustration: >- + /static/worktemplates/project_management/create_project/channel.png + name: Create Project + - board: + id: board-1674851940548 + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Create Project + illustration: /static/worktemplates/boards/project_tasks.png + channel: channel-1674851940114 + - integration: + id: jira + recommended: true + - integration: + id: github + recommended: true + - integration: + id: zoom + recommended: true +--- +id: 'project_management/goals_and_okrs:v1' +category: project_management +useCase: Set goals and OKR's +illustration: /static/worktemplates/project_management/goals_and_okrs/goals_and_okrs.png +visibility: public +description: + channel: + id: worktemplate.project_management.goals_and_okrs.channel + defaultMessage: >- + Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel. + board: + id: worktemplate.project_management.goals_and_okrs.board + defaultMessage: >- + Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board. + integration: + id: worktemplate.project_management.goals_and_okrs.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674845108569 + illustration: /static/worktemplates/project_management/goals_and_okrs/channel.png + name: Goals and OKR + - board: + id: board-1674845139258 + template: 7ba22ccfdfac391d63dea5c4b8cde0de + name: Goals and OKR + illustration: /static/worktemplates/boards/company_goal_and_okrs.png + channel: channel-1674845108569 + - integration: + id: zoom + recommended: true +--- +id: 'project_management/product_roadmap:v1' +category: project_management +useCase: Create a product roadmap +illustration: /static/worktemplates/project_management/product_roadmap/product_roadmap.png +visibility: public +description: + channel: + id: worktemplate.project_management.product_roadmap.channel + defaultMessage: Chat with your team about your customers' feedback, prioritization, and get aligned on progress together. + board: + id: worktemplate.project_management.product_roadmap.board + defaultMessage: Use the Product Roadmap board to manage user feedback, assign resources, view deliverables in a calendar view, and prioritize issues. +content: + - channel: + id: channel-1674851139450 + illustration: /static/worktemplates/project_management/product_roadmap/channel.png + name: Product Roadmap + - board: + id: board-1674851139759 + template: b728c6ca730e2cfc229741c5a4712b65 + name: Product Roadmap + illustration: /static/worktemplates/boards/roadmap.png + channel: channel-1674851139450 +--- +id: 'project_management/product_release:v1' +category: project_management +useCase: Prepare a product release +illustration: /static/worktemplates/project_management/product_release/product_release.png +visibility: public +description: + channel: + id: worktemplate.project_management.product_release.channel + defaultMessage: Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly. + board: + id: worktemplate.project_management.product_release.board + defaultMessage: Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due. + playbook: + id: worktemplate.project_management.product_release.playbook + defaultMessage: Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time. +content: + - playbook: + id: playbook-1674851385983 + template: Product Release + name: Product Release + illustration: /static/worktemplates/playbooks/product_release.png + - board: + id: board-1674851386432 + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Product Release + illustration: /static/worktemplates/boards/project_tasks.png + channel: channel-1674851385983 + - channel: + id: channel-1674851385983 + illustration: /static/worktemplates/project_management/product_release/channel.png + name: Product Release + playbook: playbook-1674851385983 +--- +id: "project_management/feature_release:v1" +category: project_management +useCase: Feature Development +illustration: /static/worktemplates/project_management/feature_release/feature_release.png +visibility: public +description: + channel: + id: "worktemplate.project_management.feature_release.description.channel" + defaultMessage: "Chat with your team about any release blockers and changes in a channel that connects easily with your boards, playbooks and other integrations." + board: + id: "worktemplate.project_management.feature_release.description.board" + defaultMessage: "Keep meetings on track with the Meeting Agenda board. Manage your workload with the Project Tasks board." + playbook: + id: "worktemplate.project_management.feature_release.description.playbook" + defaultMessage: "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you’re done, run a retrospective and make improvements for your next release." + integration: + id: "worktemplate.project_management.feature_release.description.integration" + defaultMessage: "Increase productivity in your channel by integrating your most commonly used tools to support your feature release, such as GitHub. These will be downloaded for you." + illustration: "/static/worktemplates/integrations.png" +content: + - channel: + id: feature-release + name: Feature Release + playbook: product-release-playbook + illustration: "/static/worktemplates/project_management/feature_release/channel.png" + - board: + id: "board-meeting-agenda" + template: "54fcf9c610f0ac5e4c522c0657c90602" + name: Meeting Agenda + channel: feature-release + illustration: "/static/worktemplates/boards/meeting_agenda.png" + - board: + id: "board-project-task" + template: "a4ec399ab4f2088b1051c3cdf1dde4c3" + name: Project Task + channel: feature-release + illustration: "/static/worktemplates/boards/project_tasks.png" + - playbook: + template: "Product Release" + name: "Feature release" + id: product-release-playbook + illustration: "/static/worktemplates/playbooks/product_release.png" + - integration: + id: jira + recommended: true + - integration: + id: github + recommended: true +--- +id: 'project_management/quick_start:v1' +category: project_management +useCase: Quick Start FIXME +illustration: /static/worktemplates/project_management/quick_start/quick_start.png +visibility: public +onboardingOnly: true +content: + - channel: + id: channel-qs + illustration: /static/worktemplates/project_management/quick_start/channel.png + name: Quick Start +--- +###################### +# MARKETING +###################### +id: 'marketing/content_calendar:v1' +category: marketing +useCase: Content Calendar +illustration: /static/worktemplates/marketing/content_calendar/content_calendar.png +visibility: public +description: + channel: + id: worktemplate.marketing.content_calendar.channel + defaultMessage: >- + Share content ideas, trending posts, blog links, and mentions in a dedicated channel. + board: + id: worktemplate.marketing.content_calendar.board + defaultMessage: >- + Use the Content Calendar boad to track ideas, plan your content themes, manage the creation process, and set milestones. +content: + - channel: + id: channel-ct + illustration: /static/worktemplates/marketing/content_calendar/channel.png + name: Content Calendar + - board: + id: board-ct + template: c75fbd659d2258b5183af2236d176ab4 + name: Content Calendar + illustration: /static/worktemplates/boards/content_calendar.png + channel: channel-ct +--- +id: 'marketing/create_project:v1' +category: marketing +useCase: Project Management +illustration: /static/worktemplates/marketing/create_project/create_project.png +visibility: public +description: + channel: + id: worktemplate.marketing.create_project.channel + defaultMessage: >- + Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel. + board: + id: worktemplate.marketing.create_project.board + defaultMessage: >- + Use a Kanban board to define and track your project tasks and progress. + integration: + id: worktemplate.marketing.create_project.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674851940114 + illustration: >- + /static/worktemplates/marketing/create_project/channel.png + name: Create Project + - board: + id: board-1674851940548 + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Create Project + illustration: /static/worktemplates/boards/project_tasks.png + channel: channel-1674851940114 + - integration: + id: jira + recommended: true + - integration: + id: github + recommended: true + - integration: + id: zoom + recommended: true +--- +id: 'marketing/product_release:v1' +category: marketing +useCase: Prepare a product release +illustration: /static/worktemplates/marketing/product_release/product_release.png +visibility: public +description: + channel: + id: worktemplate.marketing.product_release.channel + defaultMessage: Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly. + board: + id: worktemplate.marketing.product_release.board + defaultMessage: Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due. + playbook: + id: worktemplate.marketing.product_release.playbook + defaultMessage: Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time. +content: + - playbook: + id: playbook-1674851385983 + template: Product Release + name: Product Release + illustration: /static/worktemplates/playbooks/product_release.png + - board: + id: board-1674851386432 + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Product Release + illustration: /static/worktemplates/boards/project_tasks.png + channel: channel-1674851385983 + - channel: + id: channel-1674851385983 + illustration: /static/worktemplates/marketing/product_release/channel.png + name: Product Release + playbook: playbook-1674851385983 +--- +id: 'marketing/goals_and_okrs:v1' +category: marketing +useCase: Set goals and OKR's +illustration: /static/worktemplates/marketing/goals_and_okrs/goals_and_okrs.png +visibility: public +description: + channel: + id: worktemplate.marketing.goals_and_okrs.channel + defaultMessage: >- + Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel. + board: + id: worktemplate.marketing.goals_and_okrs.board + defaultMessage: >- + Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board. + integration: + id: worktemplate.marketing.goals_and_okrs.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674845108569 + illustration: /static/worktemplates/marketing/goals_and_okrs/channel.png + name: Goals and OKR + - board: + id: board-1674845139258 + template: 7ba22ccfdfac391d63dea5c4b8cde0de + name: Goals and OKR + illustration: /static/worktemplates/boards/company_goal_and_okrs.png + channel: channel-1674845108569 + - integration: + id: zoom + recommended: true +--- +id: 'marketing/quick_start:v1' +category: marketing +useCase: Quick Start FIXME +illustration: /static/worktemplates/marketing/quick_start/quick_start.png +visibility: public +onboardingOnly: true +content: + - channel: + id: channel-qs + illustration: /static/worktemplates/marketing/quick_start/channel.png + name: Quick Start +--- +###################### +# DESIGN +###################### +id: 'design/create_project:v1' +category: design +useCase: Project Management +illustration: /static/worktemplates/design/create_project/create_project.png +visibility: public +description: + channel: + id: worktemplate.design.create_project.channel + defaultMessage: >- + Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel. + board: + id: worktemplate.design.create_project.board + defaultMessage: >- + Use a Kanban board to define and track your project tasks and progress. + integration: + id: worktemplate.design.create_project.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674851940114 + illustration: >- + /static/worktemplates/design/create_project/channel.png + name: Create Project + - board: + id: board-1674851940548 + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Create Project + illustration: /static/worktemplates/boards/project_tasks.png + channel: channel-1674851940114 + - integration: + id: jira + recommended: true + - integration: + id: github + recommended: true + - integration: + id: zoom + recommended: true +--- +id: 'design/sprint_planning:v1' +category: design +useCase: Plan sprints +illustration: /static/worktemplates/design/sprint_planning/sprint_planning.png +visibility: public +description: + channel: + id: worktemplate.design.sprint_planning.channel + defaultMessage: >- + Chat with your team in a channel that connects easily with your boards and integrations. + board: + id: worktemplate.design.sprint_planning.board + defaultMessage: >- + Track your team's progress toward weekly goals with sprint breakdowns, prioritization, owner assignment, and comments. + integration: + id: worktemplate.design.sprint_planning.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools, such as Zoom. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674850783500 + illustration: /static/worktemplates/design/sprint_planning/channel.png + name: Sprint planning + - board: + id: board-1674850783973 + template: 99b74e26d2f5d0a9b346d43c0a7bfb09 + name: Sprint planning + illustration: /static/worktemplates/boards/sprint_planner.png + channel: channel-1674850783500 + - integration: + id: zoom + recommended: true +--- +id: "design/feature_release:v1" +category: design +useCase: Feature Development +illustration: /static/worktemplates/design/feature_release/feature_release.png +visibility: public +description: + channel: + id: "worktemplate.design.feature_release.description.channel" + defaultMessage: "Chat with your team about any release blockers and changes in a channel that connects easily with your boards, playbooks and other integrations." + board: + id: "worktemplate.design.feature_release.description.board" + defaultMessage: "Keep meetings on track with the Meeting Agenda board. Manage your workload with the Project Tasks board." + playbook: + id: "worktemplate.design.feature_release.description.playbook" + defaultMessage: "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you’re done, run a retrospective and make improvements for your next release." + integration: + id: "worktemplate.design.feature_release.description.integration" + defaultMessage: "Increase productivity in your channel by integrating your most commonly used tools to support your feature release, such as GitHub. These will be downloaded for you." + illustration: "/static/worktemplates/integrations.png" +content: + - channel: + id: feature-release + name: Feature Release + playbook: product-release-playbook + illustration: "/static/worktemplates/design/feature_release/channel.png" + - board: + id: "board-meeting-agenda" + template: "54fcf9c610f0ac5e4c522c0657c90602" + name: Meeting Agenda + channel: feature-release + illustration: "/static/worktemplates/boards/meeting_agenda.png" + - board: + id: "board-project-task" + template: "a4ec399ab4f2088b1051c3cdf1dde4c3" + name: Project Task + channel: feature-release + illustration: "/static/worktemplates/boards/project_tasks.png" + - playbook: + template: "Product Release" + name: "Feature release" + id: product-release-playbook + illustration: "/static/worktemplates/playbooks/product_release.png" + - integration: + id: jira + recommended: true + - integration: + id: github + recommended: true +--- +id: 'design/product_release:v1' +category: design +useCase: Prepare a product release +illustration: /static/worktemplates/design/product_release/product_release.png +visibility: public +description: + channel: + id: worktemplate.design.product_release.channel + defaultMessage: Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly. + board: + id: worktemplate.design.product_release.board + defaultMessage: Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due. + playbook: + id: worktemplate.design.product_release.playbook + defaultMessage: Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time. +content: + - playbook: + id: playbook-1674851385983 + template: Product Release + name: Product Release + illustration: /static/worktemplates/playbooks/product_release.png + - board: + id: board-1674851386432 + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Product Release + illustration: /static/worktemplates/boards/project_tasks.png + channel: channel-1674851385983 + - channel: + id: channel-1674851385983 + illustration: /static/worktemplates/design/product_release/channel.png + name: Product Release + playbook: playbook-1674851385983 +--- +id: 'design/content_calendar:v1' +category: design +useCase: Content Calendar +illustration: /static/worktemplates/design/content_calendar/content_calendar.png +visibility: public +description: + channel: + id: worktemplate.design.content_calendar.channel + defaultMessage: >- + Share content ideas, trending posts, blog links, and mentions in a dedicated channel. + board: + id: worktemplate.design.content_calendar.board + defaultMessage: >- + Use the Content Calendar boad to track ideas, plan your content themes, manage the creation process, and set milestones. +content: + - channel: + id: channel-ct + illustration: /static/worktemplates/design/content_calendar/channel.png + name: Content Calendar + - board: + id: board-ct + template: c75fbd659d2258b5183af2236d176ab4 + name: Content Calendar + illustration: /static/worktemplates/boards/content_calendar.png + channel: channel-ct +--- +id: 'design/quick_start:v1' +category: design +useCase: Quick Start FIXME +illustration: /static/worktemplates/design/quick_start/quick_start.png +visibility: public +onboardingOnly: true +content: + - channel: + id: channel-qs + illustration: /static/worktemplates/design/quick_start/channel.png + name: Quick Start +--- +###################### +# QA +###################### +id: 'qa/bug_bash:v1' +category: qa +useCase: Run a bug bash +illustration: /static/worktemplates/qa/bug_bash/bug_bash.png +visibility: public +description: + channel: + id: worktemplate.qa.bug_bash.channel + defaultMessage: >- + Plan and manage bug reports and resolutions in a single channel, that’s easily accessible to your team and organization. + playbook: + id: worktemplate.qa.bug_bash.playbook + defaultMessage: >- + Use checklists to assign testing areas and automated tasks to run a comprehensive bug bash process. Use a retrospective to review your process and improve it for next time. + integration: + id: worktemplate.qa.bug_bash.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools, such as Jira, to track your bug bash progress. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - playbook: + id: playbook-1674844017943 + template: Bug Bash + name: Bug Bash + illustration: /static/worktemplates/playbooks/bug_bash.png + - channel: + id: channel-1674844017943 + illustration: /static/worktemplates/qa/bug_bash/channel.png + name: Bug Bash + playbook: playbook-1674844017943 + - integration: + id: jira + recommended: true +--- +id: 'qa/incident_resolution:v1' +category: qa +useCase: Resolve incidents +illustration: /static/worktemplates/qa/incident_resolution/incident_resolution.png +visibility: public +description: + channel: + id: "worktemplate.qa.incident_resolution.description.channel" + defaultMessage: "Chat with your team about priorities, add stakeholders, provide updates, and work toward a resolution in a single channel." + board: + id: "worktemplate.qa.incident_resolution.description.board" + defaultMessage: "Use the Incident Resolution board to support repeatable processes and assign defined tasks across the team." + playbook: + id: "worktemplate.qa.incident_resolution.description.playbook" + defaultMessage: "Use checklists and automation to bring in key team members, and share how your incident is tracking toward resolution." +content: + - playbook: + id: irpb + template: Incident Resolution + name: Incident Resolution + illustration: /static/worktemplates/playbooks/incident_resolution.png + - channel: + id: irc + illustration: /static/worktemplates/qa/incident_resolution/channel.png + name: Incident Resolution + playbook: irpb + - board: + id: irb + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Incident Resolution + illustration: /static/worktemplates/boards/project_tasks.png + channel: irc +--- +id: 'qa/sprint_planning:v1' +category: qa +useCase: Plan sprints +illustration: /static/worktemplates/qa/sprint_planning/sprint_planning.png +visibility: public +description: + channel: + id: worktemplate.qa.sprint_planning.channel + defaultMessage: >- + Chat with your team in a channel that connects easily with your boards and integrations. + board: + id: worktemplate.qa.sprint_planning.board + defaultMessage: >- + Track your team's progress toward weekly goals with sprint breakdowns, prioritization, owner assignment, and comments. + integration: + id: worktemplate.qa.sprint_planning.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools, such as Zoom. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674850783500 + illustration: /static/worktemplates/qa/sprint_planning/channel.png + name: Sprint planning + - board: + id: board-1674850783973 + template: 99b74e26d2f5d0a9b346d43c0a7bfb09 + name: Sprint planning + illustration: /static/worktemplates/boards/sprint_planner.png + channel: channel-1674850783500 + - integration: + id: zoom + recommended: true +--- +id: 'qa/create_project:v1' +category: qa +useCase: Project Management +illustration: /static/worktemplates/qa/create_project/create_project.png +visibility: public +description: + channel: + id: worktemplate.qa.create_project.channel + defaultMessage: >- + Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel. + board: + id: worktemplate.qa.create_project.board + defaultMessage: >- + Use a Kanban board to define and track your project tasks and progress. + integration: + id: worktemplate.qa.create_project.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674851940114 + illustration: >- + /static/worktemplates/qa/create_project/channel.png + name: Create Project + - board: + id: board-1674851940548 + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Create Project + illustration: /static/worktemplates/boards/project_tasks.png + channel: channel-1674851940114 + - integration: + id: jira + recommended: true + - integration: + id: github + recommended: true + - integration: + id: zoom + recommended: true +--- +id: 'qa/product_release:v1' +category: qa +useCase: Prepare a product release +illustration: /static/worktemplates/qa/product_release/product_release.png +visibility: public +description: + channel: + id: worktemplate.qa.product_release.channel + defaultMessage: Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly. + board: + id: worktemplate.qa.product_release.board + defaultMessage: Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due. + playbook: + id: worktemplate.qa.product_release.playbook + defaultMessage: Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time. +content: + - playbook: + id: playbook-1674851385983 + template: Product Release + name: Product Release + illustration: /static/worktemplates/playbooks/product_release.png + - board: + id: board-1674851386432 + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Product Release + illustration: /static/worktemplates/boards/project_tasks.png + channel: channel-1674851385983 + - channel: + id: channel-1674851385983 + illustration: /static/worktemplates/qa/product_release/channel.png + name: Product Release + playbook: playbook-1674851385983 +--- +id: 'qa/quick_start:v1' +category: qa +useCase: Quick Start FIXME +illustration: /static/worktemplates/qa/quick_start/quick_start.png +visibility: public +onboardingOnly: true +content: + - channel: + id: channel-qs + illustration: /static/worktemplates/qa/quick_start/channel.png + name: Quick Start +--- +###################### +# OTHER +###################### +id: 'other/create_project:v1' +category: other +useCase: Project Management +illustration: /static/worktemplates/other/create_project/create_project.png +visibility: public +description: + channel: + id: worktemplate.other.create_project.channel + defaultMessage: >- + Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel. + board: + id: worktemplate.other.create_project.board + defaultMessage: >- + Use a Kanban board to define and track your project tasks and progress. + integration: + id: worktemplate.other.create_project.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674851940114 + illustration: >- + /static/worktemplates/other/create_project/channel.png + name: Create Project + - board: + id: board-1674851940548 + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Create Project + illustration: /static/worktemplates/boards/project_tasks.png + channel: channel-1674851940114 + - integration: + id: jira + recommended: true + - integration: + id: github + recommended: true + - integration: + id: zoom + recommended: true +--- +id: 'other/product_release:v1' +category: other +useCase: Prepare a product release +illustration: /static/worktemplates/other/product_release/product_release.png +visibility: public +description: + channel: + id: worktemplate.other.product_release.channel + defaultMessage: Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly. + board: + id: worktemplate.other.product_release.board + defaultMessage: Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due. + playbook: + id: worktemplate.other.product_release.playbook + defaultMessage: Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time. +content: + - playbook: + id: playbook-1674851385983 + template: Product Release + name: Product Release + illustration: /static/worktemplates/playbooks/product_release.png + - board: + id: board-1674851386432 + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Product Release + illustration: /static/worktemplates/boards/project_tasks.png + channel: channel-1674851385983 + - channel: + id: channel-1674851385983 + illustration: /static/worktemplates/other/product_release/channel.png + name: Product Release + playbook: playbook-1674851385983 +--- +id: 'other/goals_and_okrs:v1' +category: other +useCase: Set goals and OKR's +illustration: /static/worktemplates/other/goals_and_okrs/goals_and_okrs.png +visibility: public +description: + channel: + id: worktemplate.other.goals_and_okrs.channel + defaultMessage: >- + Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel. + board: + id: worktemplate.other.goals_and_okrs.board + defaultMessage: >- + Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board. + integration: + id: worktemplate.other.goals_and_okrs.integration + defaultMessage: >- + Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you. + illustration: /static/worktemplates/integrations.png +content: + - channel: + id: channel-1674845108569 + illustration: /static/worktemplates/other/goals_and_okrs/channel.png + name: Goals and OKR + - board: + id: board-1674845139258 + template: 7ba22ccfdfac391d63dea5c4b8cde0de + name: Goals and OKR + illustration: /static/worktemplates/boards/company_goal_and_okrs.png + channel: channel-1674845108569 + - board: + id: board-1674845175528 + template: 54fcf9c610f0ac5e4c522c0657c90602 + name: Meeting Agenda + illustration: /static/worktemplates/boards/meeting_agenda.png + channel: channel-1674845108569 + - integration: + id: zoom + recommended: true +--- +id: 'other/incident_resolution:v1' +category: other +useCase: Resolve incidents +illustration: /static/worktemplates/other/incident_resolution/incident_resolution.png +visibility: public +description: + channel: + id: "worktemplate.other.incident_resolution.description.channel" + defaultMessage: "Chat with your team about priorities, add stakeholders, provide updates, and work toward a resolution in a single channel." + board: + id: "worktemplate.other.incident_resolution.description.board" + defaultMessage: "Use the Incident Resolution board to support repeatable processes and assign defined tasks across the team." + playbook: + id: "worktemplate.other.incident_resolution.description.playbook" + defaultMessage: "Use checklists and automation to bring in key team members, and share how your incident is tracking toward resolution." +content: + - playbook: + id: irpb + template: Incident Resolution + name: Incident Resolution + illustration: /static/worktemplates/playbooks/incident_resolution.png + - channel: + id: irc + illustration: /static/worktemplates/other/incident_resolution/channel.png + name: Incident Resolution + playbook: irpb + - board: + id: irb + template: a4ec399ab4f2088b1051c3cdf1dde4c3 + name: Incident Resolution + illustration: /static/worktemplates/boards/project_tasks.png + channel: irc +--- +id: "other/feature_release:v1" +category: other +useCase: Feature Development +illustration: /static/worktemplates/other/feature_release/feature_release.png +visibility: public +description: + channel: + id: "worktemplate.other.feature_release.description.channel" + defaultMessage: "Chat with your team about any release blockers and changes in a channel that connects easily with your boards, playbooks and other integrations." + board: + id: "worktemplate.other.feature_release.description.board" + defaultMessage: "Keep meetings on track with the Meeting Agenda board. Manage your workload with the Project Tasks board." + playbook: + id: "worktemplate.other.feature_release.description.playbook" + defaultMessage: "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you’re done, run a retrospective and make improvements for your next release." + integration: + id: "worktemplate.other.feature_release.description.integration" + defaultMessage: "Increase productivity in your channel by integrating your most commonly used tools to support your feature release, such as GitHub. These will be downloaded for you." + illustration: "/static/worktemplates/integrations.png" +content: + - channel: + id: feature-release + name: Feature Release + playbook: product-release-playbook + illustration: "/static/worktemplates/other/feature_release/channel.png" + - board: + id: "board-meeting-agenda" + template: "54fcf9c610f0ac5e4c522c0657c90602" + name: Meeting Agenda + channel: feature-release + illustration: "/static/worktemplates/boards/meeting_agenda.png" + - board: + id: "board-project-task" + template: "a4ec399ab4f2088b1051c3cdf1dde4c3" + name: Project Task + channel: feature-release + illustration: "/static/worktemplates/boards/project_tasks.png" + - playbook: + template: "Product Release" + name: "Feature release" + id: product-release-playbook + illustration: "/static/worktemplates/playbooks/product_release.png" + - integration: + id: jira + recommended: true + - integration: + id: github + recommended: true +--- +id: 'other/quick_start:v1' +category: other +useCase: Quick Start FIXME +illustration: /static/worktemplates/other/quick_start/quick_start.png +visibility: public +onboardingOnly: true +content: + - channel: + id: channel-qs + illustration: /static/worktemplates/other/quick_start/channel.png + name: Quick Start diff --git a/server/channels/app/worktemplates/types.go b/server/channels/app/worktemplates/types.go index 83649a4571..56c83ea5f3 100644 --- a/server/channels/app/worktemplates/types.go +++ b/server/channels/app/worktemplates/types.go @@ -18,14 +18,15 @@ type WorkTemplateCategory struct { } type WorkTemplate struct { - ID string `yaml:"id"` - Category string `yaml:"category"` - UseCase string `yaml:"useCase"` - Illustration string `yaml:"illustration"` - Visibility string `yaml:"visibility"` - FeatureFlag *FeatureFlag `yaml:"featureFlag,omitempty"` - Description Description `yaml:"description"` - Content []Content `yaml:"content"` + ID string `yaml:"id"` + Category string `yaml:"category"` + UseCase string `yaml:"useCase"` + Illustration string `yaml:"illustration"` + Visibility string `yaml:"visibility"` + OnboardingOnly bool `yaml:"onboardingOnly"` + FeatureFlag *FeatureFlag `yaml:"featureFlag,omitempty"` + Description Description `yaml:"description"` + Content []Content `yaml:"content"` } func (wt WorkTemplate) ToModelWorkTemplate(t i18n.TranslateFunc) *model.WorkTemplate { @@ -201,17 +202,19 @@ func (wt WorkTemplate) Validate(categoryIds map[string]struct{}) error { } } - if hasChannel && wt.Description.Channel == nil { - return errors.New("description.channel is required") - } - if hasBoard && wt.Description.Board == nil { - return errors.New("description.board is required") - } - if hasPlaybook && wt.Description.Playbook == nil { - return errors.New("description.playbook is required") - } - if hasIntegration && wt.Description.Integration == nil { - return errors.New("description.integration is required") + if !wt.OnboardingOnly { + if hasChannel && wt.Description.Channel == nil { + return errors.New("description.channel is required") + } + if hasBoard && wt.Description.Board == nil { + return errors.New("description.board is required") + } + if hasPlaybook && wt.Description.Playbook == nil { + return errors.New("description.playbook is required") + } + if hasIntegration && wt.Description.Integration == nil { + return errors.New("description.integration is required") + } } for _, channel := range mustHaveChannels { diff --git a/server/channels/app/worktemplates/worktemplate_generated.go b/server/channels/app/worktemplates/worktemplate_generated.go index f7e3a3e16f..bc90c61cef 100644 --- a/server/channels/app/worktemplates/worktemplate_generated.go +++ b/server/channels/app/worktemplates/worktemplate_generated.go @@ -9,30 +9,84 @@ package worktemplates func init() { registerWorkTemplateCategory("product_teams", wtc846b565cd80043537945134a54812e07) registerWorkTemplateCategory("devops", wtca21c218df41f6d7fd032535fe20394e2) - registerWorkTemplateCategory("companywide", wtca6def90c2edac0c33650ac8ebee1e094) registerWorkTemplateCategory("leadership", wtce9b74766edff1096ba7c67999ca259b6) + registerWorkTemplateCategory("engineering", wtc5d554bc5f3d2cd182cdd0952b1fb87ca) + registerWorkTemplateCategory("project_management", wtce90e8e741f50e7fbfe5e84fb90562968) + registerWorkTemplateCategory("marketing", wtcc769c2bd15500dd906102d9be97fdceb) + registerWorkTemplateCategory("design", wtc31c13f47ad87dd7baa2d558a91e0fbb9) + registerWorkTemplateCategory("qa", wtc8264ee52f589f4c0191aa94f87aa1aeb) + registerWorkTemplateCategory("other", wtc795f3202b17cb6bc3d4b771d8c6c9eaf) registerWorkTemplate("product_teams/feature_release:v1", wt00a1b44a5831c0a3acb14787b3fdd352) + registerWorkTemplate("product_teams/product_roadmap:v1", wt00ab91a945627f4a624957dd80490bb2) registerWorkTemplate("product_teams/goals_and_okrs:v1", wt5baa68055bf9ea423273662e01ccc575) registerWorkTemplate("product_teams/bug_bash:v1", wtfeb56bc6a8f277c47b503bd1c92d830e) registerWorkTemplate("product_teams/sprint_planning:v1", wt8d2ef53deac5517eb349dc5de6150196) - registerWorkTemplate("product_teams/product_roadmap:v1", wt00ab91a945627f4a624957dd80490bb2) + registerWorkTemplate("product_teams/quick_start:v1", wt6a2796d0bafa17826a5982b6e1f2c3e5) registerWorkTemplate("devops/incident_resolution:v1", wtce19b9352a59d6a5d26f292d83e84377) registerWorkTemplate("devops/product_release:v1", wt37406285a41c18bcdeb881189f7acde0) - registerWorkTemplate("companywide/goals_and_okrs:v1", wtf7b846d35810f8272eeb9a1a562025b5) - registerWorkTemplate("companywide/create_project:v1", wtb9ab412890c2410c7b49eec8f12e7edc) + registerWorkTemplate("devops/create_project:v1", wt1c651e965ae5b37239c70e30585bab97) + registerWorkTemplate("devops/sprint_planning:v1", wtc5d3d0c5616f9d52db227686c9139f49) + registerWorkTemplate("devops/bug_bash:v1", wt3617ad014982dd369d3a410c6c72b564) + registerWorkTemplate("devops/quick_start:v1", wt0a0486861b3ec59155474d5a8341c931) registerWorkTemplate("leadership/goals_and_okrs:v1", wt32ab773bfe021e3d4913931041552559) + registerWorkTemplate("leadership/create_project:v1", wt76d9214529735f7ec74eb5df65e4e85f) + registerWorkTemplate("leadership/incident_resolution:v1", wt790572ce6813403f19a77fed39cbcdd5) + registerWorkTemplate("leadership/content_calendar:v1", wtf1f79af5441269e36297a45a693c7d10) + registerWorkTemplate("leadership/quick_start:v1", wt21fad6341be3aebcece3dda0c8fdbdff) + registerWorkTemplate("engineering/feature_release:v1", wt1281cffb56e2321dce5b97428d825e3b) + registerWorkTemplate("engineering/bug_bash:v1", wt95bea94642606667aeb3f6c317644d85) + registerWorkTemplate("engineering/sprint_planning:v1", wt9eb471a10db4c122a391010e89b37abc) + registerWorkTemplate("engineering/goals_and_okrs:v1", wt55a322ccfbbd932ba284f1cb69b9d502) + registerWorkTemplate("engineering/create_project:v1", wt65486e9427adc317c30ee149ab36dde8) + registerWorkTemplate("engineering/quick_start:v1", wtc4676e7909b1806418b6e3c93aa724ed) + registerWorkTemplate("project_management/create_project:v1", wtcd7ef3abb2d9523fc211c3b0ec45f3e3) + registerWorkTemplate("project_management/goals_and_okrs:v1", wt0a2edd56323523361144ad52826f548b) + registerWorkTemplate("project_management/product_roadmap:v1", wt4b3b546041f9b5e8a667e0a615b9f842) + registerWorkTemplate("project_management/product_release:v1", wt72691b54ea815800ac1857dd9e36308f) + registerWorkTemplate("project_management/feature_release:v1", wt6f3a40ec8a84b55f644cbcba37971420) + registerWorkTemplate("project_management/quick_start:v1", wt9e34533e2e82fed10e76e32bea997095) + registerWorkTemplate("marketing/content_calendar:v1", wt72e52cfc59b7124b371185424c416cff) + registerWorkTemplate("marketing/create_project:v1", wt0e3a68ac32073e7fa3f2c771cd031a95) + registerWorkTemplate("marketing/product_release:v1", wtfbead37e76b2bb00cfd9077a9f2c1335) + registerWorkTemplate("marketing/goals_and_okrs:v1", wt5741241ff0c0252576fef714c88475ee) + registerWorkTemplate("marketing/quick_start:v1", wtfb1ba76e567988deaab0b09a3ee1f792) + registerWorkTemplate("design/create_project:v1", wt7d2dce190aa5d3ec99fec2bc1af98adc) + registerWorkTemplate("design/sprint_planning:v1", wt26198fa840ddf8069d05182194798c65) + registerWorkTemplate("design/feature_release:v1", wt96a2c867d5ed8309d6ba873fecbc30f0) + registerWorkTemplate("design/product_release:v1", wtc67c67911408ed44de236fe4baf77d61) + registerWorkTemplate("design/content_calendar:v1", wt25b6a591d2ea27c72f336f431cd1b703) + registerWorkTemplate("design/quick_start:v1", wt08fbcdaab0b2963cc1d4b0c108a6a74f) + registerWorkTemplate("qa/bug_bash:v1", wt3b0de7ee94c09f723a5678b013c8e280) + registerWorkTemplate("qa/incident_resolution:v1", wt9b985b589910d043a8c9693d768504ed) + registerWorkTemplate("qa/sprint_planning:v1", wt5ab1024a716ac3e4d42e4d2db040ffc3) + registerWorkTemplate("qa/create_project:v1", wt21ceec7ab87a074ec353ce4abb905877) + registerWorkTemplate("qa/product_release:v1", wta4b45b98a1e70742ce99fde268cd38c4) + registerWorkTemplate("qa/quick_start:v1", wt5ad4932546ef1606b05734e8b358d6e5) + registerWorkTemplate("other/create_project:v1", wtdbf5d9c5062ea7dc67f84ab6217af312) + registerWorkTemplate("other/product_release:v1", wt402df9ba681bd8dd8807783a5b36d263) + registerWorkTemplate("other/goals_and_okrs:v1", wtb7ab89eacf8f768d9de8dd2411adc683) + registerWorkTemplate("other/incident_resolution:v1", wt2e1b55b543bd6fa264165b50fbae6eff) + registerWorkTemplate("other/feature_release:v1", wt17e3e6f472acde73612d2cf43a473b1d) + registerWorkTemplate("other/quick_start:v1", wt957799ea4ad9c1ff69ae2cb5283f75ce) // Register categories strings _ = T("worktemplate.category.product_teams") _ = T("worktemplate.category.devops") - _ = T("worktemplate.category.companywide") _ = T("worktemplate.category.leadership") + _ = T("worktemplate.category.engineering") + _ = T("worktemplate.category.project_management") + _ = T("worktemplate.category.marketing") + _ = T("worktemplate.category.design") + _ = T("worktemplate.category.qa") + _ = T("worktemplate.category.other") // Register translation strings _ = T("worktemplate.product_teams.feature_release.description.channel") _ = T("worktemplate.product_teams.feature_release.description.board") _ = T("worktemplate.product_teams.feature_release.description.playbook") _ = T("worktemplate.product_teams.feature_release.description.integration") + _ = T("worktemplate.product_teams.product_roadmap.channel") + _ = T("worktemplate.product_teams.product_roadmap.board") _ = T("worktemplate.product_teams.goals_and_okrs.channel") _ = T("worktemplate.product_teams.goals_and_okrs.board") _ = T("worktemplate.product_teams.goals_and_okrs.integration") @@ -42,23 +96,120 @@ func init() { _ = T("worktemplate.product_teams.sprint_planning.channel") _ = T("worktemplate.product_teams.sprint_planning.board") _ = T("worktemplate.product_teams.sprint_planning.integration") - _ = T("worktemplate.product_teams.product_roadmap.channel") - _ = T("worktemplate.product_teams.product_roadmap.board") _ = T("worktemplate.devops.incident_resolution.description.channel") _ = T("worktemplate.devops.incident_resolution.description.board") _ = T("worktemplate.devops.incident_resolution.description.playbook") _ = T("worktemplate.devops.product_release.channel") _ = T("worktemplate.devops.product_release.board") _ = T("worktemplate.devops.product_release.playbook") - _ = T("worktemplate.companywide.goals_and_okrs.channel") - _ = T("worktemplate.companywide.goals_and_okrs.board") - _ = T("worktemplate.companywide.goals_and_okrs.integration") - _ = T("worktemplate.companywide.create_project.channel") - _ = T("worktemplate.companywide.create_project.board") - _ = T("worktemplate.companywide.create_project.integration") + _ = T("worktemplate.devops.create_project.channel") + _ = T("worktemplate.devops.create_project.board") + _ = T("worktemplate.devops.create_project.integration") + _ = T("worktemplate.devops.sprint_planning.channel") + _ = T("worktemplate.devops.sprint_planning.board") + _ = T("worktemplate.devops.sprint_planning.integration") + _ = T("worktemplate.devops.bug_bash.channel") + _ = T("worktemplate.devops.bug_bash.playbook") + _ = T("worktemplate.devops.bug_bash.integration") _ = T("worktemplate.leadership.goals_and_okrs.channel") _ = T("worktemplate.leadership.goals_and_okrs.board") _ = T("worktemplate.leadership.goals_and_okrs.integration") + _ = T("worktemplate.leadership.create_project.channel") + _ = T("worktemplate.leadership.create_project.board") + _ = T("worktemplate.leadership.create_project.integration") + _ = T("worktemplate.leadership.incident_resolution.description.channel") + _ = T("worktemplate.leadership.incident_resolution.description.board") + _ = T("worktemplate.leadership.incident_resolution.description.playbook") + _ = T("worktemplate.leadership.content_calendar.channel") + _ = T("worktemplate.leadership.content_calendar.board") + _ = T("worktemplate.engineering.feature_release.description.channel") + _ = T("worktemplate.engineering.feature_release.description.board") + _ = T("worktemplate.engineering.feature_release.description.playbook") + _ = T("worktemplate.engineering.feature_release.description.integration") + _ = T("worktemplate.engineering.bug_bash.channel") + _ = T("worktemplate.engineering.bug_bash.playbook") + _ = T("worktemplate.engineering.bug_bash.integration") + _ = T("worktemplate.engineering.sprint_planning.channel") + _ = T("worktemplate.engineering.sprint_planning.board") + _ = T("worktemplate.engineering.sprint_planning.integration") + _ = T("worktemplate.engineering.goals_and_okrs.channel") + _ = T("worktemplate.engineering.goals_and_okrs.board") + _ = T("worktemplate.engineering.goals_and_okrs.integration") + _ = T("worktemplate.engineering.create_project.channel") + _ = T("worktemplate.engineering.create_project.board") + _ = T("worktemplate.engineering.create_project.integration") + _ = T("worktemplate.project_management.create_project.channel") + _ = T("worktemplate.project_management.create_project.board") + _ = T("worktemplate.project_management.create_project.integration") + _ = T("worktemplate.project_management.goals_and_okrs.channel") + _ = T("worktemplate.project_management.goals_and_okrs.board") + _ = T("worktemplate.project_management.goals_and_okrs.integration") + _ = T("worktemplate.project_management.product_roadmap.channel") + _ = T("worktemplate.project_management.product_roadmap.board") + _ = T("worktemplate.project_management.product_release.channel") + _ = T("worktemplate.project_management.product_release.board") + _ = T("worktemplate.project_management.product_release.playbook") + _ = T("worktemplate.project_management.feature_release.description.channel") + _ = T("worktemplate.project_management.feature_release.description.board") + _ = T("worktemplate.project_management.feature_release.description.playbook") + _ = T("worktemplate.project_management.feature_release.description.integration") + _ = T("worktemplate.marketing.content_calendar.channel") + _ = T("worktemplate.marketing.content_calendar.board") + _ = T("worktemplate.marketing.create_project.channel") + _ = T("worktemplate.marketing.create_project.board") + _ = T("worktemplate.marketing.create_project.integration") + _ = T("worktemplate.marketing.product_release.channel") + _ = T("worktemplate.marketing.product_release.board") + _ = T("worktemplate.marketing.product_release.playbook") + _ = T("worktemplate.marketing.goals_and_okrs.channel") + _ = T("worktemplate.marketing.goals_and_okrs.board") + _ = T("worktemplate.marketing.goals_and_okrs.integration") + _ = T("worktemplate.design.create_project.channel") + _ = T("worktemplate.design.create_project.board") + _ = T("worktemplate.design.create_project.integration") + _ = T("worktemplate.design.sprint_planning.channel") + _ = T("worktemplate.design.sprint_planning.board") + _ = T("worktemplate.design.sprint_planning.integration") + _ = T("worktemplate.design.feature_release.description.channel") + _ = T("worktemplate.design.feature_release.description.board") + _ = T("worktemplate.design.feature_release.description.playbook") + _ = T("worktemplate.design.feature_release.description.integration") + _ = T("worktemplate.design.product_release.channel") + _ = T("worktemplate.design.product_release.board") + _ = T("worktemplate.design.product_release.playbook") + _ = T("worktemplate.design.content_calendar.channel") + _ = T("worktemplate.design.content_calendar.board") + _ = T("worktemplate.qa.bug_bash.channel") + _ = T("worktemplate.qa.bug_bash.playbook") + _ = T("worktemplate.qa.bug_bash.integration") + _ = T("worktemplate.qa.incident_resolution.description.channel") + _ = T("worktemplate.qa.incident_resolution.description.board") + _ = T("worktemplate.qa.incident_resolution.description.playbook") + _ = T("worktemplate.qa.sprint_planning.channel") + _ = T("worktemplate.qa.sprint_planning.board") + _ = T("worktemplate.qa.sprint_planning.integration") + _ = T("worktemplate.qa.create_project.channel") + _ = T("worktemplate.qa.create_project.board") + _ = T("worktemplate.qa.create_project.integration") + _ = T("worktemplate.qa.product_release.channel") + _ = T("worktemplate.qa.product_release.board") + _ = T("worktemplate.qa.product_release.playbook") + _ = T("worktemplate.other.create_project.channel") + _ = T("worktemplate.other.create_project.board") + _ = T("worktemplate.other.create_project.integration") + _ = T("worktemplate.other.product_release.channel") + _ = T("worktemplate.other.product_release.board") + _ = T("worktemplate.other.product_release.playbook") + _ = T("worktemplate.other.goals_and_okrs.channel") + _ = T("worktemplate.other.goals_and_okrs.board") + _ = T("worktemplate.other.goals_and_okrs.integration") + _ = T("worktemplate.other.incident_resolution.description.channel") + _ = T("worktemplate.other.incident_resolution.description.board") + _ = T("worktemplate.other.incident_resolution.description.playbook") + _ = T("worktemplate.other.feature_release.description.channel") + _ = T("worktemplate.other.feature_release.description.board") + _ = T("worktemplate.other.feature_release.description.playbook") + _ = T("worktemplate.other.feature_release.description.integration") } var wtc846b565cd80043537945134a54812e07 = &WorkTemplateCategory{ @@ -71,22 +222,48 @@ var wtca21c218df41f6d7fd032535fe20394e2 = &WorkTemplateCategory{ Name: "worktemplate.category.devops", } -var wtca6def90c2edac0c33650ac8ebee1e094 = &WorkTemplateCategory{ - ID: "companywide", - Name: "worktemplate.category.companywide", -} - var wtce9b74766edff1096ba7c67999ca259b6 = &WorkTemplateCategory{ ID: "leadership", Name: "worktemplate.category.leadership", } +var wtc5d554bc5f3d2cd182cdd0952b1fb87ca = &WorkTemplateCategory{ + ID: "engineering", + Name: "worktemplate.category.engineering", +} + +var wtce90e8e741f50e7fbfe5e84fb90562968 = &WorkTemplateCategory{ + ID: "project_management", + Name: "worktemplate.category.project_management", +} + +var wtcc769c2bd15500dd906102d9be97fdceb = &WorkTemplateCategory{ + ID: "marketing", + Name: "worktemplate.category.marketing", +} + +var wtc31c13f47ad87dd7baa2d558a91e0fbb9 = &WorkTemplateCategory{ + ID: "design", + Name: "worktemplate.category.design", +} + +var wtc8264ee52f589f4c0191aa94f87aa1aeb = &WorkTemplateCategory{ + ID: "qa", + Name: "worktemplate.category.qa", +} + +var wtc795f3202b17cb6bc3d4b771d8c6c9eaf = &WorkTemplateCategory{ + ID: "other", + Name: "worktemplate.category.other", +} + var wt00a1b44a5831c0a3acb14787b3fdd352 = &WorkTemplate{ - ID: "product_teams/feature_release:v1", - Category: "product_teams", - UseCase: "Manage feature release", - Illustration: "/static/worktemplates/product_teams/feature_release/feature_release.png", - Visibility: "public", + ID: "product_teams/feature_release:v1", + Category: "product_teams", + UseCase: "Feature Development", + Illustration: "/static/worktemplates/product_teams/feature_release/feature_release.png", + Visibility: "public", + OnboardingOnly: false, Description: Description{ Channel: &TranslatableString{ @@ -161,12 +338,55 @@ var wt00a1b44a5831c0a3acb14787b3fdd352 = &WorkTemplate{ }, } +var wt00ab91a945627f4a624957dd80490bb2 = &WorkTemplate{ + ID: "product_teams/product_roadmap:v1", + Category: "product_teams", + UseCase: "Create a product roadmap", + Illustration: "/static/worktemplates/product_teams/product_roadmap/product_roadmap.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.product_teams.product_roadmap.channel", + DefaultMessage: "Chat with your team about your customers' feedback, prioritization, and get aligned on progress together.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.product_teams.product_roadmap.board", + DefaultMessage: "Use the Product Roadmap board to manage user feedback, assign resources, view deliverables in a calendar view, and prioritize issues.", + Illustration: "", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674851139450", + Name: "Product Roadmap", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/product_teams/product_roadmap/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851139759", + Template: "b728c6ca730e2cfc229741c5a4712b65", + Name: "Product Roadmap", + Channel: "channel-1674851139450", + Illustration: "/static/worktemplates/boards/roadmap.png", + }, + }, + }, +} + var wt5baa68055bf9ea423273662e01ccc575 = &WorkTemplate{ - ID: "product_teams/goals_and_okrs:v1", - Category: "product_teams", - UseCase: "Set goals and OKR's", - Illustration: "/static/worktemplates/product_teams/goals_and_okrs/goals_and_okrs.png", - Visibility: "public", + ID: "product_teams/goals_and_okrs:v1", + Category: "product_teams", + UseCase: "Set goals and OKR's", + Illustration: "/static/worktemplates/product_teams/goals_and_okrs/goals_and_okrs.png", + Visibility: "public", + OnboardingOnly: false, Description: Description{ Channel: &TranslatableString{ @@ -224,11 +444,12 @@ var wt5baa68055bf9ea423273662e01ccc575 = &WorkTemplate{ } var wtfeb56bc6a8f277c47b503bd1c92d830e = &WorkTemplate{ - ID: "product_teams/bug_bash:v1", - Category: "product_teams", - UseCase: "Run a bug bash", - Illustration: "/static/worktemplates/product_teams/bug_bash/bug_bash.png", - Visibility: "public", + ID: "product_teams/bug_bash:v1", + Category: "product_teams", + UseCase: "Run a bug bash", + Illustration: "/static/worktemplates/product_teams/bug_bash/bug_bash.png", + Visibility: "public", + OnboardingOnly: false, Description: Description{ Channel: &TranslatableString{ @@ -276,11 +497,12 @@ var wtfeb56bc6a8f277c47b503bd1c92d830e = &WorkTemplate{ } var wt8d2ef53deac5517eb349dc5de6150196 = &WorkTemplate{ - ID: "product_teams/sprint_planning:v1", - Category: "product_teams", - UseCase: "Plan sprints", - Illustration: "/static/worktemplates/product_teams/sprint_planning/sprint_planning.png", - Visibility: "public", + ID: "product_teams/sprint_planning:v1", + Category: "product_teams", + UseCase: "Plan sprints", + Illustration: "/static/worktemplates/product_teams/sprint_planning/sprint_planning.png", + Visibility: "public", + OnboardingOnly: false, Description: Description{ Channel: &TranslatableString{ @@ -328,53 +550,35 @@ var wt8d2ef53deac5517eb349dc5de6150196 = &WorkTemplate{ }, } -var wt00ab91a945627f4a624957dd80490bb2 = &WorkTemplate{ - ID: "product_teams/product_roadmap:v1", - Category: "product_teams", - UseCase: "Create a product roadmap", - Illustration: "/static/worktemplates/product_teams/product_roadmap/product_roadmap.png", - Visibility: "public", +var wt6a2796d0bafa17826a5982b6e1f2c3e5 = &WorkTemplate{ + ID: "product_teams/quick_start:v1", + Category: "product_teams", + UseCase: "Quick Start FIXME", + Illustration: "/static/worktemplates/product_teams/quick_start/quick_start.png", + Visibility: "public", + OnboardingOnly: true, - Description: Description{ - Channel: &TranslatableString{ - ID: "worktemplate.product_teams.product_roadmap.channel", - DefaultMessage: "Chat with your team about your customers' feedback, prioritization, and get aligned on progress together.", - Illustration: "", - }, - Board: &TranslatableString{ - ID: "worktemplate.product_teams.product_roadmap.board", - DefaultMessage: "Use the Product Roadmap board to manage user feedback, assign resources, view deliverables in a calendar view, and prioritize issues.", - Illustration: "", - }, - }, + Description: Description{}, Content: []Content{ { Channel: &Channel{ - ID: "channel-1674851139450", - Name: "Product Roadmap", + ID: "channel-qs", + Name: "Quick Start", Purpose: "", Playbook: "", - Illustration: "/static/worktemplates/product_teams/product_roadmap/channel.png", - }, - }, - { - Board: &Board{ - ID: "board-1674851139759", - Template: "b728c6ca730e2cfc229741c5a4712b65", - Name: "Product Roadmap", - Channel: "channel-1674851139450", - Illustration: "/static/worktemplates/boards/roadmap.png", + Illustration: "/static/worktemplates/product_teams/quick_start/channel.png", }, }, }, } var wtce19b9352a59d6a5d26f292d83e84377 = &WorkTemplate{ - ID: "devops/incident_resolution:v1", - Category: "devops", - UseCase: "Resolve incidents", - Illustration: "/static/worktemplates/devops/incident_resolution/incident_resolution.png", - Visibility: "public", + ID: "devops/incident_resolution:v1", + Category: "devops", + UseCase: "Resolve incidents", + Illustration: "/static/worktemplates/devops/incident_resolution/incident_resolution.png", + Visibility: "public", + OnboardingOnly: false, Description: Description{ Channel: &TranslatableString{ @@ -424,11 +628,12 @@ var wtce19b9352a59d6a5d26f292d83e84377 = &WorkTemplate{ } var wt37406285a41c18bcdeb881189f7acde0 = &WorkTemplate{ - ID: "devops/product_release:v1", - Category: "devops", - UseCase: "Prepare a product release", - Illustration: "/static/worktemplates/devops/product_release/product_release.png", - Visibility: "public", + ID: "devops/product_release:v1", + Category: "devops", + UseCase: "Prepare a product release", + Illustration: "/static/worktemplates/devops/product_release/product_release.png", + Visibility: "public", + OnboardingOnly: false, Description: Description{ Channel: &TranslatableString{ @@ -477,80 +682,28 @@ var wt37406285a41c18bcdeb881189f7acde0 = &WorkTemplate{ }, } -var wtf7b846d35810f8272eeb9a1a562025b5 = &WorkTemplate{ - ID: "companywide/goals_and_okrs:v1", - Category: "companywide", - UseCase: "Set goals and OKR's", - Illustration: "/static/worktemplates/companywide/goals_and_okrs/goals_and_okrs.png", - Visibility: "public", +var wt1c651e965ae5b37239c70e30585bab97 = &WorkTemplate{ + ID: "devops/create_project:v1", + Category: "devops", + UseCase: "Project Management", + Illustration: "/static/worktemplates/devops/create_project/create_project.png", + Visibility: "public", + OnboardingOnly: false, Description: Description{ Channel: &TranslatableString{ - ID: "worktemplate.companywide.goals_and_okrs.channel", - DefaultMessage: "Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel.", - Illustration: "", - }, - Board: &TranslatableString{ - ID: "worktemplate.companywide.goals_and_okrs.board", - DefaultMessage: "Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board.", - Illustration: "", - }, - - Integration: &TranslatableString{ - ID: "worktemplate.companywide.goals_and_okrs.integration", - DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you.", - Illustration: "/static/worktemplates/integrations.png", - }, - }, - Content: []Content{ - { - Channel: &Channel{ - ID: "channel-1674845108569", - Name: "Goals and OKR", - Purpose: "", - Playbook: "", - Illustration: "/static/worktemplates/companywide/goals_and_okrs/channel.png", - }, - }, - { - Board: &Board{ - ID: "board-1674845139258", - Template: "7ba22ccfdfac391d63dea5c4b8cde0de", - Name: "Goals and OKR", - Channel: "channel-1674845108569", - Illustration: "/static/worktemplates/boards/company_goal_and_okrs.png", - }, - }, - { - Integration: &Integration{ - ID: "zoom", - Recommended: true, - }, - }, - }, -} - -var wtb9ab412890c2410c7b49eec8f12e7edc = &WorkTemplate{ - ID: "companywide/create_project:v1", - Category: "companywide", - UseCase: "Create a project", - Illustration: "/static/worktemplates/companywide/create_project/create_project.png", - Visibility: "public", - - Description: Description{ - Channel: &TranslatableString{ - ID: "worktemplate.companywide.create_project.channel", + ID: "worktemplate.devops.create_project.channel", DefaultMessage: "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel.", Illustration: "", }, Board: &TranslatableString{ - ID: "worktemplate.companywide.create_project.board", + ID: "worktemplate.devops.create_project.board", DefaultMessage: "Use a Kanban board to define and track your project tasks and progress.", Illustration: "", }, Integration: &TranslatableString{ - ID: "worktemplate.companywide.create_project.integration", + ID: "worktemplate.devops.create_project.integration", DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you.", Illustration: "/static/worktemplates/integrations.png", }, @@ -562,7 +715,7 @@ var wtb9ab412890c2410c7b49eec8f12e7edc = &WorkTemplate{ Name: "Create Project", Purpose: "", Playbook: "", - Illustration: "/static/worktemplates/companywide/create_project/channel.png", + Illustration: "/static/worktemplates/devops/create_project/channel.png", }, }, { @@ -595,12 +748,142 @@ var wtb9ab412890c2410c7b49eec8f12e7edc = &WorkTemplate{ }, } +var wtc5d3d0c5616f9d52db227686c9139f49 = &WorkTemplate{ + ID: "devops/sprint_planning:v1", + Category: "devops", + UseCase: "Plan sprints", + Illustration: "/static/worktemplates/devops/sprint_planning/sprint_planning.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.devops.sprint_planning.channel", + DefaultMessage: "Chat with your team in a channel that connects easily with your boards and integrations.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.devops.sprint_planning.board", + DefaultMessage: "Track your team's progress toward weekly goals with sprint breakdowns, prioritization, owner assignment, and comments.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.devops.sprint_planning.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674850783500", + Name: "Sprint planning", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/devops/sprint_planning/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674850783973", + Template: "99b74e26d2f5d0a9b346d43c0a7bfb09", + Name: "Sprint planning", + Channel: "channel-1674850783500", + Illustration: "/static/worktemplates/boards/sprint_planner.png", + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wt3617ad014982dd369d3a410c6c72b564 = &WorkTemplate{ + ID: "devops/bug_bash:v1", + Category: "devops", + UseCase: "Run a bug bash", + Illustration: "/static/worktemplates/devops/bug_bash/bug_bash.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.devops.bug_bash.channel", + DefaultMessage: "Plan and manage bug reports and resolutions in a single channel, that’s easily accessible to your team and organization.", + Illustration: "", + }, + + Playbook: &TranslatableString{ + ID: "worktemplate.devops.bug_bash.playbook", + DefaultMessage: "Use checklists to assign testing areas and automated tasks to run a comprehensive bug bash process. Use a retrospective to review your process and improve it for next time.", + Illustration: "", + }, + Integration: &TranslatableString{ + ID: "worktemplate.devops.bug_bash.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools, such as Jira, to track your bug bash progress. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Playbook: &Playbook{ + Template: "Bug Bash", + Name: "Bug Bash", + ID: "playbook-1674844017943", + Illustration: "/static/worktemplates/playbooks/bug_bash.png", + }, + }, + { + Channel: &Channel{ + ID: "channel-1674844017943", + Name: "Bug Bash", + Purpose: "", + Playbook: "playbook-1674844017943", + Illustration: "/static/worktemplates/devops/bug_bash/channel.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + }, +} + +var wt0a0486861b3ec59155474d5a8341c931 = &WorkTemplate{ + ID: "devops/quick_start:v1", + Category: "devops", + UseCase: "Quick Start FIXME", + Illustration: "/static/worktemplates/devops/quick_start/quick_start.png", + Visibility: "public", + OnboardingOnly: true, + + Description: Description{}, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-qs", + Name: "Quick Start", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/devops/quick_start/channel.png", + }, + }, + }, +} + var wt32ab773bfe021e3d4913931041552559 = &WorkTemplate{ - ID: "leadership/goals_and_okrs:v1", - Category: "leadership", - UseCase: "Set goals and OKR's", - Illustration: "/static/worktemplates/leadership/goals_and_okrs/goals_and_okrs.png", - Visibility: "public", + ID: "leadership/goals_and_okrs:v1", + Category: "leadership", + UseCase: "Set goals and OKR's", + Illustration: "/static/worktemplates/leadership/goals_and_okrs/goals_and_okrs.png", + Visibility: "public", + OnboardingOnly: false, Description: Description{ Channel: &TranslatableString{ @@ -647,3 +930,2044 @@ var wt32ab773bfe021e3d4913931041552559 = &WorkTemplate{ }, }, } + +var wt76d9214529735f7ec74eb5df65e4e85f = &WorkTemplate{ + ID: "leadership/create_project:v1", + Category: "leadership", + UseCase: "Project Management", + Illustration: "/static/worktemplates/leadership/create_project/create_project.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.leadership.create_project.channel", + DefaultMessage: "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.leadership.create_project.board", + DefaultMessage: "Use a Kanban board to define and track your project tasks and progress.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.leadership.create_project.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674851940114", + Name: "Create Project", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/leadership/create_project/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851940548", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Create Project", + Channel: "channel-1674851940114", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "github", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wt790572ce6813403f19a77fed39cbcdd5 = &WorkTemplate{ + ID: "leadership/incident_resolution:v1", + Category: "leadership", + UseCase: "Resolve incidents", + Illustration: "/static/worktemplates/leadership/incident_resolution/incident_resolution.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.leadership.incident_resolution.description.channel", + DefaultMessage: "Chat with your team about priorities, add stakeholders, provide updates, and work toward a resolution in a single channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.leadership.incident_resolution.description.board", + DefaultMessage: "Use the Incident Resolution board to support repeatable processes and assign defined tasks across the team.", + Illustration: "", + }, + Playbook: &TranslatableString{ + ID: "worktemplate.leadership.incident_resolution.description.playbook", + DefaultMessage: "Use checklists and automation to bring in key team members, and share how your incident is tracking toward resolution.", + Illustration: "", + }, + }, + Content: []Content{ + { + Playbook: &Playbook{ + Template: "Incident Resolution", + Name: "Incident Resolution", + ID: "irpb", + Illustration: "/static/worktemplates/playbooks/incident_resolution.png", + }, + }, + { + Channel: &Channel{ + ID: "irc", + Name: "Incident Resolution", + Purpose: "", + Playbook: "irpb", + Illustration: "/static/worktemplates/leadership/incident_resolution/channel.png", + }, + }, + { + Board: &Board{ + ID: "irb", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Incident Resolution", + Channel: "irc", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + }, +} + +var wtf1f79af5441269e36297a45a693c7d10 = &WorkTemplate{ + ID: "leadership/content_calendar:v1", + Category: "leadership", + UseCase: "Content Calendar", + Illustration: "/static/worktemplates/leadership/content_calendar/content_calendar.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.leadership.content_calendar.channel", + DefaultMessage: "Share content ideas, trending posts, blog links, and mentions in a dedicated channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.leadership.content_calendar.board", + DefaultMessage: "Use the Content Calendar boad to track ideas, plan your content themes, manage the creation process, and set milestones.", + Illustration: "", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-ct", + Name: "Content Calendar", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/leadership/content_calendar/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-ct", + Template: "c75fbd659d2258b5183af2236d176ab4", + Name: "Content Calendar", + Channel: "channel-ct", + Illustration: "/static/worktemplates/boards/content_calendar.png", + }, + }, + }, +} + +var wt21fad6341be3aebcece3dda0c8fdbdff = &WorkTemplate{ + ID: "leadership/quick_start:v1", + Category: "leadership", + UseCase: "Quick Start FIXME", + Illustration: "/static/worktemplates/leadership/quick_start/quick_start.png", + Visibility: "public", + OnboardingOnly: true, + + Description: Description{}, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-qs", + Name: "Quick Start", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/leadership/quick_start/channel.png", + }, + }, + }, +} + +var wt1281cffb56e2321dce5b97428d825e3b = &WorkTemplate{ + ID: "engineering/feature_release:v1", + Category: "engineering", + UseCase: "Feature Development", + Illustration: "/static/worktemplates/engineering/feature_release/feature_release.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.engineering.feature_release.description.channel", + DefaultMessage: "Chat with your team about any release blockers and changes in a channel that connects easily with your boards, playbooks and other integrations.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.engineering.feature_release.description.board", + DefaultMessage: "Keep meetings on track with the Meeting Agenda board. Manage your workload with the Project Tasks board.", + Illustration: "", + }, + Playbook: &TranslatableString{ + ID: "worktemplate.engineering.feature_release.description.playbook", + DefaultMessage: "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you’re done, run a retrospective and make improvements for your next release.", + Illustration: "", + }, + Integration: &TranslatableString{ + ID: "worktemplate.engineering.feature_release.description.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools to support your feature release, such as GitHub. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "feature-release", + Name: "Feature Release", + Purpose: "", + Playbook: "product-release-playbook", + Illustration: "/static/worktemplates/engineering/feature_release/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-meeting-agenda", + Template: "54fcf9c610f0ac5e4c522c0657c90602", + Name: "Meeting Agenda", + Channel: "feature-release", + Illustration: "/static/worktemplates/boards/meeting_agenda.png", + }, + }, + { + Board: &Board{ + ID: "board-project-task", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Project Task", + Channel: "feature-release", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Playbook: &Playbook{ + Template: "Product Release", + Name: "Feature release", + ID: "product-release-playbook", + Illustration: "/static/worktemplates/playbooks/product_release.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "github", + Recommended: true, + }, + }, + }, +} + +var wt95bea94642606667aeb3f6c317644d85 = &WorkTemplate{ + ID: "engineering/bug_bash:v1", + Category: "engineering", + UseCase: "Run a bug bash", + Illustration: "/static/worktemplates/engineering/bug_bash/bug_bash.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.engineering.bug_bash.channel", + DefaultMessage: "Plan and manage bug reports and resolutions in a single channel, that’s easily accessible to your team and organization.", + Illustration: "", + }, + + Playbook: &TranslatableString{ + ID: "worktemplate.engineering.bug_bash.playbook", + DefaultMessage: "Use checklists to assign testing areas and automated tasks to run a comprehensive bug bash process. Use a retrospective to review your process and improve it for next time.", + Illustration: "", + }, + Integration: &TranslatableString{ + ID: "worktemplate.engineering.bug_bash.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools, such as Jira, to track your bug bash progress. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Playbook: &Playbook{ + Template: "Bug Bash", + Name: "Bug Bash", + ID: "playbook-1674844017943", + Illustration: "/static/worktemplates/playbooks/bug_bash.png", + }, + }, + { + Channel: &Channel{ + ID: "channel-1674844017943", + Name: "Bug Bash", + Purpose: "", + Playbook: "playbook-1674844017943", + Illustration: "/static/worktemplates/engineering/bug_bash/channel.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + }, +} + +var wt9eb471a10db4c122a391010e89b37abc = &WorkTemplate{ + ID: "engineering/sprint_planning:v1", + Category: "engineering", + UseCase: "Plan sprints", + Illustration: "/static/worktemplates/engineering/sprint_planning/sprint_planning.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.engineering.sprint_planning.channel", + DefaultMessage: "Chat with your team in a channel that connects easily with your boards and integrations.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.engineering.sprint_planning.board", + DefaultMessage: "Track your team's progress toward weekly goals with sprint breakdowns, prioritization, owner assignment, and comments.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.engineering.sprint_planning.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674850783500", + Name: "Sprint planning", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/engineering/sprint_planning/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674850783973", + Template: "99b74e26d2f5d0a9b346d43c0a7bfb09", + Name: "Sprint planning", + Channel: "channel-1674850783500", + Illustration: "/static/worktemplates/boards/sprint_planner.png", + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wt55a322ccfbbd932ba284f1cb69b9d502 = &WorkTemplate{ + ID: "engineering/goals_and_okrs:v1", + Category: "engineering", + UseCase: "Set goals and OKR's", + Illustration: "/static/worktemplates/engineering/goals_and_okrs/goals_and_okrs.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.engineering.goals_and_okrs.channel", + DefaultMessage: "Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.engineering.goals_and_okrs.board", + DefaultMessage: "Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.engineering.goals_and_okrs.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674845108569", + Name: "Goals and OKR", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/engineering/goals_and_okrs/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674845139258", + Template: "7ba22ccfdfac391d63dea5c4b8cde0de", + Name: "Goals and OKR", + Channel: "channel-1674845108569", + Illustration: "/static/worktemplates/boards/company_goal_and_okrs.png", + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wt65486e9427adc317c30ee149ab36dde8 = &WorkTemplate{ + ID: "engineering/create_project:v1", + Category: "engineering", + UseCase: "Project Management", + Illustration: "/static/worktemplates/engineering/create_project/create_project.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.engineering.create_project.channel", + DefaultMessage: "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.engineering.create_project.board", + DefaultMessage: "Use a Kanban board to define and track your project tasks and progress.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.engineering.create_project.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674851940114", + Name: "Create Project", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/engineering/create_project/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851940548", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Create Project", + Channel: "channel-1674851940114", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "github", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wtc4676e7909b1806418b6e3c93aa724ed = &WorkTemplate{ + ID: "engineering/quick_start:v1", + Category: "engineering", + UseCase: "Quick Start FIXME", + Illustration: "/static/worktemplates/engineering/quick_start/quick_start.png", + Visibility: "public", + OnboardingOnly: true, + + Description: Description{}, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-qs", + Name: "Quick Start", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/engineering/quick_start/channel.png", + }, + }, + }, +} + +var wtcd7ef3abb2d9523fc211c3b0ec45f3e3 = &WorkTemplate{ + ID: "project_management/create_project:v1", + Category: "project_management", + UseCase: "Project Management", + Illustration: "/static/worktemplates/project_management/create_project/create_project.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.project_management.create_project.channel", + DefaultMessage: "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.project_management.create_project.board", + DefaultMessage: "Use a Kanban board to define and track your project tasks and progress.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.project_management.create_project.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674851940114", + Name: "Create Project", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/project_management/create_project/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851940548", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Create Project", + Channel: "channel-1674851940114", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "github", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wt0a2edd56323523361144ad52826f548b = &WorkTemplate{ + ID: "project_management/goals_and_okrs:v1", + Category: "project_management", + UseCase: "Set goals and OKR's", + Illustration: "/static/worktemplates/project_management/goals_and_okrs/goals_and_okrs.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.project_management.goals_and_okrs.channel", + DefaultMessage: "Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.project_management.goals_and_okrs.board", + DefaultMessage: "Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.project_management.goals_and_okrs.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674845108569", + Name: "Goals and OKR", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/project_management/goals_and_okrs/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674845139258", + Template: "7ba22ccfdfac391d63dea5c4b8cde0de", + Name: "Goals and OKR", + Channel: "channel-1674845108569", + Illustration: "/static/worktemplates/boards/company_goal_and_okrs.png", + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wt4b3b546041f9b5e8a667e0a615b9f842 = &WorkTemplate{ + ID: "project_management/product_roadmap:v1", + Category: "project_management", + UseCase: "Create a product roadmap", + Illustration: "/static/worktemplates/project_management/product_roadmap/product_roadmap.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.project_management.product_roadmap.channel", + DefaultMessage: "Chat with your team about your customers' feedback, prioritization, and get aligned on progress together.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.project_management.product_roadmap.board", + DefaultMessage: "Use the Product Roadmap board to manage user feedback, assign resources, view deliverables in a calendar view, and prioritize issues.", + Illustration: "", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674851139450", + Name: "Product Roadmap", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/project_management/product_roadmap/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851139759", + Template: "b728c6ca730e2cfc229741c5a4712b65", + Name: "Product Roadmap", + Channel: "channel-1674851139450", + Illustration: "/static/worktemplates/boards/roadmap.png", + }, + }, + }, +} + +var wt72691b54ea815800ac1857dd9e36308f = &WorkTemplate{ + ID: "project_management/product_release:v1", + Category: "project_management", + UseCase: "Prepare a product release", + Illustration: "/static/worktemplates/project_management/product_release/product_release.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.project_management.product_release.channel", + DefaultMessage: "Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.project_management.product_release.board", + DefaultMessage: "Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due.", + Illustration: "", + }, + Playbook: &TranslatableString{ + ID: "worktemplate.project_management.product_release.playbook", + DefaultMessage: "Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time.", + Illustration: "", + }, + }, + Content: []Content{ + { + Playbook: &Playbook{ + Template: "Product Release", + Name: "Product Release", + ID: "playbook-1674851385983", + Illustration: "/static/worktemplates/playbooks/product_release.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851386432", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Product Release", + Channel: "channel-1674851385983", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Channel: &Channel{ + ID: "channel-1674851385983", + Name: "Product Release", + Purpose: "", + Playbook: "playbook-1674851385983", + Illustration: "/static/worktemplates/project_management/product_release/channel.png", + }, + }, + }, +} + +var wt6f3a40ec8a84b55f644cbcba37971420 = &WorkTemplate{ + ID: "project_management/feature_release:v1", + Category: "project_management", + UseCase: "Feature Development", + Illustration: "/static/worktemplates/project_management/feature_release/feature_release.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.project_management.feature_release.description.channel", + DefaultMessage: "Chat with your team about any release blockers and changes in a channel that connects easily with your boards, playbooks and other integrations.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.project_management.feature_release.description.board", + DefaultMessage: "Keep meetings on track with the Meeting Agenda board. Manage your workload with the Project Tasks board.", + Illustration: "", + }, + Playbook: &TranslatableString{ + ID: "worktemplate.project_management.feature_release.description.playbook", + DefaultMessage: "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you’re done, run a retrospective and make improvements for your next release.", + Illustration: "", + }, + Integration: &TranslatableString{ + ID: "worktemplate.project_management.feature_release.description.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools to support your feature release, such as GitHub. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "feature-release", + Name: "Feature Release", + Purpose: "", + Playbook: "product-release-playbook", + Illustration: "/static/worktemplates/project_management/feature_release/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-meeting-agenda", + Template: "54fcf9c610f0ac5e4c522c0657c90602", + Name: "Meeting Agenda", + Channel: "feature-release", + Illustration: "/static/worktemplates/boards/meeting_agenda.png", + }, + }, + { + Board: &Board{ + ID: "board-project-task", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Project Task", + Channel: "feature-release", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Playbook: &Playbook{ + Template: "Product Release", + Name: "Feature release", + ID: "product-release-playbook", + Illustration: "/static/worktemplates/playbooks/product_release.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "github", + Recommended: true, + }, + }, + }, +} + +var wt9e34533e2e82fed10e76e32bea997095 = &WorkTemplate{ + ID: "project_management/quick_start:v1", + Category: "project_management", + UseCase: "Quick Start FIXME", + Illustration: "/static/worktemplates/project_management/quick_start/quick_start.png", + Visibility: "public", + OnboardingOnly: true, + + Description: Description{}, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-qs", + Name: "Quick Start", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/project_management/quick_start/channel.png", + }, + }, + }, +} + +var wt72e52cfc59b7124b371185424c416cff = &WorkTemplate{ + ID: "marketing/content_calendar:v1", + Category: "marketing", + UseCase: "Content Calendar", + Illustration: "/static/worktemplates/marketing/content_calendar/content_calendar.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.marketing.content_calendar.channel", + DefaultMessage: "Share content ideas, trending posts, blog links, and mentions in a dedicated channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.marketing.content_calendar.board", + DefaultMessage: "Use the Content Calendar boad to track ideas, plan your content themes, manage the creation process, and set milestones.", + Illustration: "", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-ct", + Name: "Content Calendar", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/marketing/content_calendar/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-ct", + Template: "c75fbd659d2258b5183af2236d176ab4", + Name: "Content Calendar", + Channel: "channel-ct", + Illustration: "/static/worktemplates/boards/content_calendar.png", + }, + }, + }, +} + +var wt0e3a68ac32073e7fa3f2c771cd031a95 = &WorkTemplate{ + ID: "marketing/create_project:v1", + Category: "marketing", + UseCase: "Project Management", + Illustration: "/static/worktemplates/marketing/create_project/create_project.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.marketing.create_project.channel", + DefaultMessage: "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.marketing.create_project.board", + DefaultMessage: "Use a Kanban board to define and track your project tasks and progress.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.marketing.create_project.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674851940114", + Name: "Create Project", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/marketing/create_project/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851940548", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Create Project", + Channel: "channel-1674851940114", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "github", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wtfbead37e76b2bb00cfd9077a9f2c1335 = &WorkTemplate{ + ID: "marketing/product_release:v1", + Category: "marketing", + UseCase: "Prepare a product release", + Illustration: "/static/worktemplates/marketing/product_release/product_release.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.marketing.product_release.channel", + DefaultMessage: "Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.marketing.product_release.board", + DefaultMessage: "Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due.", + Illustration: "", + }, + Playbook: &TranslatableString{ + ID: "worktemplate.marketing.product_release.playbook", + DefaultMessage: "Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time.", + Illustration: "", + }, + }, + Content: []Content{ + { + Playbook: &Playbook{ + Template: "Product Release", + Name: "Product Release", + ID: "playbook-1674851385983", + Illustration: "/static/worktemplates/playbooks/product_release.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851386432", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Product Release", + Channel: "channel-1674851385983", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Channel: &Channel{ + ID: "channel-1674851385983", + Name: "Product Release", + Purpose: "", + Playbook: "playbook-1674851385983", + Illustration: "/static/worktemplates/marketing/product_release/channel.png", + }, + }, + }, +} + +var wt5741241ff0c0252576fef714c88475ee = &WorkTemplate{ + ID: "marketing/goals_and_okrs:v1", + Category: "marketing", + UseCase: "Set goals and OKR's", + Illustration: "/static/worktemplates/marketing/goals_and_okrs/goals_and_okrs.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.marketing.goals_and_okrs.channel", + DefaultMessage: "Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.marketing.goals_and_okrs.board", + DefaultMessage: "Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.marketing.goals_and_okrs.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674845108569", + Name: "Goals and OKR", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/marketing/goals_and_okrs/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674845139258", + Template: "7ba22ccfdfac391d63dea5c4b8cde0de", + Name: "Goals and OKR", + Channel: "channel-1674845108569", + Illustration: "/static/worktemplates/boards/company_goal_and_okrs.png", + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wtfb1ba76e567988deaab0b09a3ee1f792 = &WorkTemplate{ + ID: "marketing/quick_start:v1", + Category: "marketing", + UseCase: "Quick Start FIXME", + Illustration: "/static/worktemplates/marketing/quick_start/quick_start.png", + Visibility: "public", + OnboardingOnly: true, + + Description: Description{}, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-qs", + Name: "Quick Start", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/marketing/quick_start/channel.png", + }, + }, + }, +} + +var wt7d2dce190aa5d3ec99fec2bc1af98adc = &WorkTemplate{ + ID: "design/create_project:v1", + Category: "design", + UseCase: "Project Management", + Illustration: "/static/worktemplates/design/create_project/create_project.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.design.create_project.channel", + DefaultMessage: "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.design.create_project.board", + DefaultMessage: "Use a Kanban board to define and track your project tasks and progress.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.design.create_project.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674851940114", + Name: "Create Project", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/design/create_project/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851940548", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Create Project", + Channel: "channel-1674851940114", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "github", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wt26198fa840ddf8069d05182194798c65 = &WorkTemplate{ + ID: "design/sprint_planning:v1", + Category: "design", + UseCase: "Plan sprints", + Illustration: "/static/worktemplates/design/sprint_planning/sprint_planning.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.design.sprint_planning.channel", + DefaultMessage: "Chat with your team in a channel that connects easily with your boards and integrations.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.design.sprint_planning.board", + DefaultMessage: "Track your team's progress toward weekly goals with sprint breakdowns, prioritization, owner assignment, and comments.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.design.sprint_planning.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674850783500", + Name: "Sprint planning", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/design/sprint_planning/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674850783973", + Template: "99b74e26d2f5d0a9b346d43c0a7bfb09", + Name: "Sprint planning", + Channel: "channel-1674850783500", + Illustration: "/static/worktemplates/boards/sprint_planner.png", + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wt96a2c867d5ed8309d6ba873fecbc30f0 = &WorkTemplate{ + ID: "design/feature_release:v1", + Category: "design", + UseCase: "Feature Development", + Illustration: "/static/worktemplates/design/feature_release/feature_release.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.design.feature_release.description.channel", + DefaultMessage: "Chat with your team about any release blockers and changes in a channel that connects easily with your boards, playbooks and other integrations.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.design.feature_release.description.board", + DefaultMessage: "Keep meetings on track with the Meeting Agenda board. Manage your workload with the Project Tasks board.", + Illustration: "", + }, + Playbook: &TranslatableString{ + ID: "worktemplate.design.feature_release.description.playbook", + DefaultMessage: "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you’re done, run a retrospective and make improvements for your next release.", + Illustration: "", + }, + Integration: &TranslatableString{ + ID: "worktemplate.design.feature_release.description.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools to support your feature release, such as GitHub. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "feature-release", + Name: "Feature Release", + Purpose: "", + Playbook: "product-release-playbook", + Illustration: "/static/worktemplates/design/feature_release/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-meeting-agenda", + Template: "54fcf9c610f0ac5e4c522c0657c90602", + Name: "Meeting Agenda", + Channel: "feature-release", + Illustration: "/static/worktemplates/boards/meeting_agenda.png", + }, + }, + { + Board: &Board{ + ID: "board-project-task", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Project Task", + Channel: "feature-release", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Playbook: &Playbook{ + Template: "Product Release", + Name: "Feature release", + ID: "product-release-playbook", + Illustration: "/static/worktemplates/playbooks/product_release.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "github", + Recommended: true, + }, + }, + }, +} + +var wtc67c67911408ed44de236fe4baf77d61 = &WorkTemplate{ + ID: "design/product_release:v1", + Category: "design", + UseCase: "Prepare a product release", + Illustration: "/static/worktemplates/design/product_release/product_release.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.design.product_release.channel", + DefaultMessage: "Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.design.product_release.board", + DefaultMessage: "Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due.", + Illustration: "", + }, + Playbook: &TranslatableString{ + ID: "worktemplate.design.product_release.playbook", + DefaultMessage: "Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time.", + Illustration: "", + }, + }, + Content: []Content{ + { + Playbook: &Playbook{ + Template: "Product Release", + Name: "Product Release", + ID: "playbook-1674851385983", + Illustration: "/static/worktemplates/playbooks/product_release.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851386432", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Product Release", + Channel: "channel-1674851385983", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Channel: &Channel{ + ID: "channel-1674851385983", + Name: "Product Release", + Purpose: "", + Playbook: "playbook-1674851385983", + Illustration: "/static/worktemplates/design/product_release/channel.png", + }, + }, + }, +} + +var wt25b6a591d2ea27c72f336f431cd1b703 = &WorkTemplate{ + ID: "design/content_calendar:v1", + Category: "design", + UseCase: "Content Calendar", + Illustration: "/static/worktemplates/design/content_calendar/content_calendar.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.design.content_calendar.channel", + DefaultMessage: "Share content ideas, trending posts, blog links, and mentions in a dedicated channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.design.content_calendar.board", + DefaultMessage: "Use the Content Calendar boad to track ideas, plan your content themes, manage the creation process, and set milestones.", + Illustration: "", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-ct", + Name: "Content Calendar", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/design/content_calendar/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-ct", + Template: "c75fbd659d2258b5183af2236d176ab4", + Name: "Content Calendar", + Channel: "channel-ct", + Illustration: "/static/worktemplates/boards/content_calendar.png", + }, + }, + }, +} + +var wt08fbcdaab0b2963cc1d4b0c108a6a74f = &WorkTemplate{ + ID: "design/quick_start:v1", + Category: "design", + UseCase: "Quick Start FIXME", + Illustration: "/static/worktemplates/design/quick_start/quick_start.png", + Visibility: "public", + OnboardingOnly: true, + + Description: Description{}, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-qs", + Name: "Quick Start", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/design/quick_start/channel.png", + }, + }, + }, +} + +var wt3b0de7ee94c09f723a5678b013c8e280 = &WorkTemplate{ + ID: "qa/bug_bash:v1", + Category: "qa", + UseCase: "Run a bug bash", + Illustration: "/static/worktemplates/qa/bug_bash/bug_bash.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.qa.bug_bash.channel", + DefaultMessage: "Plan and manage bug reports and resolutions in a single channel, that’s easily accessible to your team and organization.", + Illustration: "", + }, + + Playbook: &TranslatableString{ + ID: "worktemplate.qa.bug_bash.playbook", + DefaultMessage: "Use checklists to assign testing areas and automated tasks to run a comprehensive bug bash process. Use a retrospective to review your process and improve it for next time.", + Illustration: "", + }, + Integration: &TranslatableString{ + ID: "worktemplate.qa.bug_bash.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools, such as Jira, to track your bug bash progress. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Playbook: &Playbook{ + Template: "Bug Bash", + Name: "Bug Bash", + ID: "playbook-1674844017943", + Illustration: "/static/worktemplates/playbooks/bug_bash.png", + }, + }, + { + Channel: &Channel{ + ID: "channel-1674844017943", + Name: "Bug Bash", + Purpose: "", + Playbook: "playbook-1674844017943", + Illustration: "/static/worktemplates/qa/bug_bash/channel.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + }, +} + +var wt9b985b589910d043a8c9693d768504ed = &WorkTemplate{ + ID: "qa/incident_resolution:v1", + Category: "qa", + UseCase: "Resolve incidents", + Illustration: "/static/worktemplates/qa/incident_resolution/incident_resolution.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.qa.incident_resolution.description.channel", + DefaultMessage: "Chat with your team about priorities, add stakeholders, provide updates, and work toward a resolution in a single channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.qa.incident_resolution.description.board", + DefaultMessage: "Use the Incident Resolution board to support repeatable processes and assign defined tasks across the team.", + Illustration: "", + }, + Playbook: &TranslatableString{ + ID: "worktemplate.qa.incident_resolution.description.playbook", + DefaultMessage: "Use checklists and automation to bring in key team members, and share how your incident is tracking toward resolution.", + Illustration: "", + }, + }, + Content: []Content{ + { + Playbook: &Playbook{ + Template: "Incident Resolution", + Name: "Incident Resolution", + ID: "irpb", + Illustration: "/static/worktemplates/playbooks/incident_resolution.png", + }, + }, + { + Channel: &Channel{ + ID: "irc", + Name: "Incident Resolution", + Purpose: "", + Playbook: "irpb", + Illustration: "/static/worktemplates/qa/incident_resolution/channel.png", + }, + }, + { + Board: &Board{ + ID: "irb", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Incident Resolution", + Channel: "irc", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + }, +} + +var wt5ab1024a716ac3e4d42e4d2db040ffc3 = &WorkTemplate{ + ID: "qa/sprint_planning:v1", + Category: "qa", + UseCase: "Plan sprints", + Illustration: "/static/worktemplates/qa/sprint_planning/sprint_planning.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.qa.sprint_planning.channel", + DefaultMessage: "Chat with your team in a channel that connects easily with your boards and integrations.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.qa.sprint_planning.board", + DefaultMessage: "Track your team's progress toward weekly goals with sprint breakdowns, prioritization, owner assignment, and comments.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.qa.sprint_planning.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674850783500", + Name: "Sprint planning", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/qa/sprint_planning/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674850783973", + Template: "99b74e26d2f5d0a9b346d43c0a7bfb09", + Name: "Sprint planning", + Channel: "channel-1674850783500", + Illustration: "/static/worktemplates/boards/sprint_planner.png", + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wt21ceec7ab87a074ec353ce4abb905877 = &WorkTemplate{ + ID: "qa/create_project:v1", + Category: "qa", + UseCase: "Project Management", + Illustration: "/static/worktemplates/qa/create_project/create_project.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.qa.create_project.channel", + DefaultMessage: "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.qa.create_project.board", + DefaultMessage: "Use a Kanban board to define and track your project tasks and progress.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.qa.create_project.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674851940114", + Name: "Create Project", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/qa/create_project/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851940548", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Create Project", + Channel: "channel-1674851940114", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "github", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wta4b45b98a1e70742ce99fde268cd38c4 = &WorkTemplate{ + ID: "qa/product_release:v1", + Category: "qa", + UseCase: "Prepare a product release", + Illustration: "/static/worktemplates/qa/product_release/product_release.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.qa.product_release.channel", + DefaultMessage: "Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.qa.product_release.board", + DefaultMessage: "Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due.", + Illustration: "", + }, + Playbook: &TranslatableString{ + ID: "worktemplate.qa.product_release.playbook", + DefaultMessage: "Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time.", + Illustration: "", + }, + }, + Content: []Content{ + { + Playbook: &Playbook{ + Template: "Product Release", + Name: "Product Release", + ID: "playbook-1674851385983", + Illustration: "/static/worktemplates/playbooks/product_release.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851386432", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Product Release", + Channel: "channel-1674851385983", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Channel: &Channel{ + ID: "channel-1674851385983", + Name: "Product Release", + Purpose: "", + Playbook: "playbook-1674851385983", + Illustration: "/static/worktemplates/qa/product_release/channel.png", + }, + }, + }, +} + +var wt5ad4932546ef1606b05734e8b358d6e5 = &WorkTemplate{ + ID: "qa/quick_start:v1", + Category: "qa", + UseCase: "Quick Start FIXME", + Illustration: "/static/worktemplates/qa/quick_start/quick_start.png", + Visibility: "public", + OnboardingOnly: true, + + Description: Description{}, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-qs", + Name: "Quick Start", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/qa/quick_start/channel.png", + }, + }, + }, +} + +var wtdbf5d9c5062ea7dc67f84ab6217af312 = &WorkTemplate{ + ID: "other/create_project:v1", + Category: "other", + UseCase: "Project Management", + Illustration: "/static/worktemplates/other/create_project/create_project.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.other.create_project.channel", + DefaultMessage: "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.other.create_project.board", + DefaultMessage: "Use a Kanban board to define and track your project tasks and progress.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.other.create_project.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674851940114", + Name: "Create Project", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/other/create_project/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851940548", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Create Project", + Channel: "channel-1674851940114", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "github", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wt402df9ba681bd8dd8807783a5b36d263 = &WorkTemplate{ + ID: "other/product_release:v1", + Category: "other", + UseCase: "Prepare a product release", + Illustration: "/static/worktemplates/other/product_release/product_release.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.other.product_release.channel", + DefaultMessage: "Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.other.product_release.board", + DefaultMessage: "Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due.", + Illustration: "", + }, + Playbook: &TranslatableString{ + ID: "worktemplate.other.product_release.playbook", + DefaultMessage: "Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time.", + Illustration: "", + }, + }, + Content: []Content{ + { + Playbook: &Playbook{ + Template: "Product Release", + Name: "Product Release", + ID: "playbook-1674851385983", + Illustration: "/static/worktemplates/playbooks/product_release.png", + }, + }, + { + Board: &Board{ + ID: "board-1674851386432", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Product Release", + Channel: "channel-1674851385983", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Channel: &Channel{ + ID: "channel-1674851385983", + Name: "Product Release", + Purpose: "", + Playbook: "playbook-1674851385983", + Illustration: "/static/worktemplates/other/product_release/channel.png", + }, + }, + }, +} + +var wtb7ab89eacf8f768d9de8dd2411adc683 = &WorkTemplate{ + ID: "other/goals_and_okrs:v1", + Category: "other", + UseCase: "Set goals and OKR's", + Illustration: "/static/worktemplates/other/goals_and_okrs/goals_and_okrs.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.other.goals_and_okrs.channel", + DefaultMessage: "Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.other.goals_and_okrs.board", + DefaultMessage: "Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board.", + Illustration: "", + }, + + Integration: &TranslatableString{ + ID: "worktemplate.other.goals_and_okrs.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-1674845108569", + Name: "Goals and OKR", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/other/goals_and_okrs/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-1674845139258", + Template: "7ba22ccfdfac391d63dea5c4b8cde0de", + Name: "Goals and OKR", + Channel: "channel-1674845108569", + Illustration: "/static/worktemplates/boards/company_goal_and_okrs.png", + }, + }, + { + Board: &Board{ + ID: "board-1674845175528", + Template: "54fcf9c610f0ac5e4c522c0657c90602", + Name: "Meeting Agenda", + Channel: "channel-1674845108569", + Illustration: "/static/worktemplates/boards/meeting_agenda.png", + }, + }, + { + Integration: &Integration{ + ID: "zoom", + Recommended: true, + }, + }, + }, +} + +var wt2e1b55b543bd6fa264165b50fbae6eff = &WorkTemplate{ + ID: "other/incident_resolution:v1", + Category: "other", + UseCase: "Resolve incidents", + Illustration: "/static/worktemplates/other/incident_resolution/incident_resolution.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.other.incident_resolution.description.channel", + DefaultMessage: "Chat with your team about priorities, add stakeholders, provide updates, and work toward a resolution in a single channel.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.other.incident_resolution.description.board", + DefaultMessage: "Use the Incident Resolution board to support repeatable processes and assign defined tasks across the team.", + Illustration: "", + }, + Playbook: &TranslatableString{ + ID: "worktemplate.other.incident_resolution.description.playbook", + DefaultMessage: "Use checklists and automation to bring in key team members, and share how your incident is tracking toward resolution.", + Illustration: "", + }, + }, + Content: []Content{ + { + Playbook: &Playbook{ + Template: "Incident Resolution", + Name: "Incident Resolution", + ID: "irpb", + Illustration: "/static/worktemplates/playbooks/incident_resolution.png", + }, + }, + { + Channel: &Channel{ + ID: "irc", + Name: "Incident Resolution", + Purpose: "", + Playbook: "irpb", + Illustration: "/static/worktemplates/other/incident_resolution/channel.png", + }, + }, + { + Board: &Board{ + ID: "irb", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Incident Resolution", + Channel: "irc", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + }, +} + +var wt17e3e6f472acde73612d2cf43a473b1d = &WorkTemplate{ + ID: "other/feature_release:v1", + Category: "other", + UseCase: "Feature Development", + Illustration: "/static/worktemplates/other/feature_release/feature_release.png", + Visibility: "public", + OnboardingOnly: false, + + Description: Description{ + Channel: &TranslatableString{ + ID: "worktemplate.other.feature_release.description.channel", + DefaultMessage: "Chat with your team about any release blockers and changes in a channel that connects easily with your boards, playbooks and other integrations.", + Illustration: "", + }, + Board: &TranslatableString{ + ID: "worktemplate.other.feature_release.description.board", + DefaultMessage: "Keep meetings on track with the Meeting Agenda board. Manage your workload with the Project Tasks board.", + Illustration: "", + }, + Playbook: &TranslatableString{ + ID: "worktemplate.other.feature_release.description.playbook", + DefaultMessage: "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you’re done, run a retrospective and make improvements for your next release.", + Illustration: "", + }, + Integration: &TranslatableString{ + ID: "worktemplate.other.feature_release.description.integration", + DefaultMessage: "Increase productivity in your channel by integrating your most commonly used tools to support your feature release, such as GitHub. These will be downloaded for you.", + Illustration: "/static/worktemplates/integrations.png", + }, + }, + Content: []Content{ + { + Channel: &Channel{ + ID: "feature-release", + Name: "Feature Release", + Purpose: "", + Playbook: "product-release-playbook", + Illustration: "/static/worktemplates/other/feature_release/channel.png", + }, + }, + { + Board: &Board{ + ID: "board-meeting-agenda", + Template: "54fcf9c610f0ac5e4c522c0657c90602", + Name: "Meeting Agenda", + Channel: "feature-release", + Illustration: "/static/worktemplates/boards/meeting_agenda.png", + }, + }, + { + Board: &Board{ + ID: "board-project-task", + Template: "a4ec399ab4f2088b1051c3cdf1dde4c3", + Name: "Project Task", + Channel: "feature-release", + Illustration: "/static/worktemplates/boards/project_tasks.png", + }, + }, + { + Playbook: &Playbook{ + Template: "Product Release", + Name: "Feature release", + ID: "product-release-playbook", + Illustration: "/static/worktemplates/playbooks/product_release.png", + }, + }, + { + Integration: &Integration{ + ID: "jira", + Recommended: true, + }, + }, + { + Integration: &Integration{ + ID: "github", + Recommended: true, + }, + }, + }, +} + +var wt957799ea4ad9c1ff69ae2cb5283f75ce = &WorkTemplate{ + ID: "other/quick_start:v1", + Category: "other", + UseCase: "Quick Start FIXME", + Illustration: "/static/worktemplates/other/quick_start/quick_start.png", + Visibility: "public", + OnboardingOnly: true, + + Description: Description{}, + Content: []Content{ + { + Channel: &Channel{ + ID: "channel-qs", + Name: "Quick Start", + Purpose: "", + Playbook: "", + Illustration: "/static/worktemplates/other/quick_start/channel.png", + }, + }, + }, +} diff --git a/server/channels/app/worktemplates/worktemplates.go b/server/channels/app/worktemplates/worktemplates.go index 64bff40f46..c39a1e9b78 100644 --- a/server/channels/app/worktemplates/worktemplates.go +++ b/server/channels/app/worktemplates/worktemplates.go @@ -25,10 +25,14 @@ func ListCategories() ([]*WorkTemplateCategory, error) { return OrderedWorkTemplateCategories, nil } -func ListByCategory(category string) ([]*WorkTemplate, error) { +func ListByCategory(category string, includeOnboardingTemplate bool) ([]*WorkTemplate, error) { wts := []*WorkTemplate{} for i := range OrderedWorkTemplates { if OrderedWorkTemplates[i].Category == category { + // do not include work template with onboarding only flag if includeOnboardingTemplate is false + if !includeOnboardingTemplate && OrderedWorkTemplates[i].OnboardingOnly { + continue + } wts = append(wts, OrderedWorkTemplates[i]) } } diff --git a/server/i18n/en.json b/server/i18n/en.json index c359acc24f..2f5f53258c 100644 --- a/server/i18n/en.json +++ b/server/i18n/en.json @@ -10060,44 +10060,124 @@ "translation": "Couldn't find the user." }, { - "id": "worktemplate.category.companywide", - "translation": "Company-wide" + "id": "worktemplate.category.design", + "translation": "Design" }, { "id": "worktemplate.category.devops", "translation": "DevOps" }, + { + "id": "worktemplate.category.engineering", + "translation": "Engineering" + }, { "id": "worktemplate.category.leadership", "translation": "Leadership" }, + { + "id": "worktemplate.category.marketing", + "translation": "Marketing" + }, + { + "id": "worktemplate.category.other", + "translation": "Other" + }, { "id": "worktemplate.category.product_teams", "translation": "Product" }, { - "id": "worktemplate.companywide.create_project.board", + "id": "worktemplate.category.project_management", + "translation": "Project Management" + }, + { + "id": "worktemplate.category.qa", + "translation": "QA" + }, + { + "id": "worktemplate.design.content_calendar.board", + "translation": "Use the Content Calendar boad to track ideas, plan your content themes, manage the creation process, and set milestones." + }, + { + "id": "worktemplate.design.content_calendar.channel", + "translation": "Share content ideas, trending posts, blog links, and mentions in a dedicated channel." + }, + { + "id": "worktemplate.design.create_project.board", "translation": "Use a Kanban board to define and track your project tasks and progress." }, { - "id": "worktemplate.companywide.create_project.channel", + "id": "worktemplate.design.create_project.channel", "translation": "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel." }, { - "id": "worktemplate.companywide.create_project.integration", + "id": "worktemplate.design.create_project.integration", "translation": "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you." }, { - "id": "worktemplate.companywide.goals_and_okrs.board", - "translation": "Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board." + "id": "worktemplate.design.feature_release.description.board", + "translation": "Keep meetings on track with the Meeting Agenda board. Manage your workload with the Project Tasks board." }, { - "id": "worktemplate.companywide.goals_and_okrs.channel", - "translation": "Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel." + "id": "worktemplate.design.feature_release.description.channel", + "translation": "Chat with your team about any release blockers and changes in a channel that connects easily with your boards, playbooks and other integrations." }, { - "id": "worktemplate.companywide.goals_and_okrs.integration", - "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you." + "id": "worktemplate.design.feature_release.description.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools to support your feature release, such as GitHub. These will be downloaded for you." + }, + { + "id": "worktemplate.design.feature_release.description.playbook", + "translation": "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you’re done, run a retrospective and make improvements for your next release." + }, + { + "id": "worktemplate.design.product_release.board", + "translation": "Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due." + }, + { + "id": "worktemplate.design.product_release.channel", + "translation": "Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly." + }, + { + "id": "worktemplate.design.product_release.playbook", + "translation": "Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time." + }, + { + "id": "worktemplate.design.sprint_planning.board", + "translation": "Track your team's progress toward weekly goals with sprint breakdowns, prioritization, owner assignment, and comments." + }, + { + "id": "worktemplate.design.sprint_planning.channel", + "translation": "Chat with your team in a channel that connects easily with your boards and integrations." + }, + { + "id": "worktemplate.design.sprint_planning.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom. These will be downloaded for you." + }, + { + "id": "worktemplate.devops.bug_bash.channel", + "translation": "Plan and manage bug reports and resolutions in a single channel, that’s easily accessible to your team and organization." + }, + { + "id": "worktemplate.devops.bug_bash.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Jira, to track your bug bash progress. These will be downloaded for you." + }, + { + "id": "worktemplate.devops.bug_bash.playbook", + "translation": "Use checklists to assign testing areas and automated tasks to run a comprehensive bug bash process. Use a retrospective to review your process and improve it for next time." + }, + { + "id": "worktemplate.devops.create_project.board", + "translation": "Use a Kanban board to define and track your project tasks and progress." + }, + { + "id": "worktemplate.devops.create_project.channel", + "translation": "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel." + }, + { + "id": "worktemplate.devops.create_project.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you." }, { "id": "worktemplate.devops.incident_resolution.description.board", @@ -10123,6 +10203,102 @@ "id": "worktemplate.devops.product_release.playbook", "translation": "Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time." }, + { + "id": "worktemplate.devops.sprint_planning.board", + "translation": "Track your team's progress toward weekly goals with sprint breakdowns, prioritization, owner assignment, and comments." + }, + { + "id": "worktemplate.devops.sprint_planning.channel", + "translation": "Chat with your team in a channel that connects easily with your boards and integrations." + }, + { + "id": "worktemplate.devops.sprint_planning.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom. These will be downloaded for you." + }, + { + "id": "worktemplate.engineering.bug_bash.channel", + "translation": "Plan and manage bug reports and resolutions in a single channel, that’s easily accessible to your team and organization." + }, + { + "id": "worktemplate.engineering.bug_bash.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Jira, to track your bug bash progress. These will be downloaded for you." + }, + { + "id": "worktemplate.engineering.bug_bash.playbook", + "translation": "Use checklists to assign testing areas and automated tasks to run a comprehensive bug bash process. Use a retrospective to review your process and improve it for next time." + }, + { + "id": "worktemplate.engineering.create_project.board", + "translation": "Use a Kanban board to define and track your project tasks and progress." + }, + { + "id": "worktemplate.engineering.create_project.channel", + "translation": "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel." + }, + { + "id": "worktemplate.engineering.create_project.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you." + }, + { + "id": "worktemplate.engineering.feature_release.description.board", + "translation": "Keep meetings on track with the Meeting Agenda board. Manage your workload with the Project Tasks board." + }, + { + "id": "worktemplate.engineering.feature_release.description.channel", + "translation": "Chat with your team about any release blockers and changes in a channel that connects easily with your boards, playbooks and other integrations." + }, + { + "id": "worktemplate.engineering.feature_release.description.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools to support your feature release, such as GitHub. These will be downloaded for you." + }, + { + "id": "worktemplate.engineering.feature_release.description.playbook", + "translation": "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you’re done, run a retrospective and make improvements for your next release." + }, + { + "id": "worktemplate.engineering.goals_and_okrs.board", + "translation": "Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board." + }, + { + "id": "worktemplate.engineering.goals_and_okrs.channel", + "translation": "Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel." + }, + { + "id": "worktemplate.engineering.goals_and_okrs.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you." + }, + { + "id": "worktemplate.engineering.sprint_planning.board", + "translation": "Track your team's progress toward weekly goals with sprint breakdowns, prioritization, owner assignment, and comments." + }, + { + "id": "worktemplate.engineering.sprint_planning.channel", + "translation": "Chat with your team in a channel that connects easily with your boards and integrations." + }, + { + "id": "worktemplate.engineering.sprint_planning.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom. These will be downloaded for you." + }, + { + "id": "worktemplate.leadership.content_calendar.board", + "translation": "Use the Content Calendar boad to track ideas, plan your content themes, manage the creation process, and set milestones." + }, + { + "id": "worktemplate.leadership.content_calendar.channel", + "translation": "Share content ideas, trending posts, blog links, and mentions in a dedicated channel." + }, + { + "id": "worktemplate.leadership.create_project.board", + "translation": "Use a Kanban board to define and track your project tasks and progress." + }, + { + "id": "worktemplate.leadership.create_project.channel", + "translation": "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel." + }, + { + "id": "worktemplate.leadership.create_project.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you." + }, { "id": "worktemplate.leadership.goals_and_okrs.board", "translation": "Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board." @@ -10135,6 +10311,126 @@ "id": "worktemplate.leadership.goals_and_okrs.integration", "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you." }, + { + "id": "worktemplate.leadership.incident_resolution.description.board", + "translation": "Use the Incident Resolution board to support repeatable processes and assign defined tasks across the team." + }, + { + "id": "worktemplate.leadership.incident_resolution.description.channel", + "translation": "Chat with your team about priorities, add stakeholders, provide updates, and work toward a resolution in a single channel." + }, + { + "id": "worktemplate.leadership.incident_resolution.description.playbook", + "translation": "Use checklists and automation to bring in key team members, and share how your incident is tracking toward resolution." + }, + { + "id": "worktemplate.marketing.content_calendar.board", + "translation": "Use the Content Calendar boad to track ideas, plan your content themes, manage the creation process, and set milestones." + }, + { + "id": "worktemplate.marketing.content_calendar.channel", + "translation": "Share content ideas, trending posts, blog links, and mentions in a dedicated channel." + }, + { + "id": "worktemplate.marketing.create_project.board", + "translation": "Use a Kanban board to define and track your project tasks and progress." + }, + { + "id": "worktemplate.marketing.create_project.channel", + "translation": "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel." + }, + { + "id": "worktemplate.marketing.create_project.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you." + }, + { + "id": "worktemplate.marketing.goals_and_okrs.board", + "translation": "Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board." + }, + { + "id": "worktemplate.marketing.goals_and_okrs.channel", + "translation": "Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel." + }, + { + "id": "worktemplate.marketing.goals_and_okrs.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you." + }, + { + "id": "worktemplate.marketing.product_release.board", + "translation": "Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due." + }, + { + "id": "worktemplate.marketing.product_release.channel", + "translation": "Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly." + }, + { + "id": "worktemplate.marketing.product_release.playbook", + "translation": "Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time." + }, + { + "id": "worktemplate.other.create_project.board", + "translation": "Use a Kanban board to define and track your project tasks and progress." + }, + { + "id": "worktemplate.other.create_project.channel", + "translation": "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel." + }, + { + "id": "worktemplate.other.create_project.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you." + }, + { + "id": "worktemplate.other.feature_release.description.board", + "translation": "Keep meetings on track with the Meeting Agenda board. Manage your workload with the Project Tasks board." + }, + { + "id": "worktemplate.other.feature_release.description.channel", + "translation": "Chat with your team about any release blockers and changes in a channel that connects easily with your boards, playbooks and other integrations." + }, + { + "id": "worktemplate.other.feature_release.description.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools to support your feature release, such as GitHub. These will be downloaded for you." + }, + { + "id": "worktemplate.other.feature_release.description.playbook", + "translation": "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you’re done, run a retrospective and make improvements for your next release." + }, + { + "id": "worktemplate.other.goals_and_okrs.board", + "translation": "Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board." + }, + { + "id": "worktemplate.other.goals_and_okrs.channel", + "translation": "Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel." + }, + { + "id": "worktemplate.other.goals_and_okrs.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you." + }, + { + "id": "worktemplate.other.incident_resolution.description.board", + "translation": "Use the Incident Resolution board to support repeatable processes and assign defined tasks across the team." + }, + { + "id": "worktemplate.other.incident_resolution.description.channel", + "translation": "Chat with your team about priorities, add stakeholders, provide updates, and work toward a resolution in a single channel." + }, + { + "id": "worktemplate.other.incident_resolution.description.playbook", + "translation": "Use checklists and automation to bring in key team members, and share how your incident is tracking toward resolution." + }, + { + "id": "worktemplate.other.product_release.board", + "translation": "Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due." + }, + { + "id": "worktemplate.other.product_release.channel", + "translation": "Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly." + }, + { + "id": "worktemplate.other.product_release.playbook", + "translation": "Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time." + }, { "id": "worktemplate.product_teams.bug_bash.channel", "translation": "Plan and manage bug reports and resolutions in a single channel, that’s easily accessible to your team and organization." @@ -10161,7 +10457,7 @@ }, { "id": "worktemplate.product_teams.feature_release.description.playbook", - "translation": "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you're done, run a retrospective and make improvements for your next release." + "translation": "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you’re done, run a retrospective and make improvements for your next release." }, { "id": "worktemplate.product_teams.goals_and_okrs.board", @@ -10194,5 +10490,125 @@ { "id": "worktemplate.product_teams.sprint_planning.integration", "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom. These will be downloaded for you." + }, + { + "id": "worktemplate.project_management.create_project.board", + "translation": "Use a Kanban board to define and track your project tasks and progress." + }, + { + "id": "worktemplate.project_management.create_project.channel", + "translation": "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel." + }, + { + "id": "worktemplate.project_management.create_project.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you." + }, + { + "id": "worktemplate.project_management.feature_release.description.board", + "translation": "Keep meetings on track with the Meeting Agenda board. Manage your workload with the Project Tasks board." + }, + { + "id": "worktemplate.project_management.feature_release.description.channel", + "translation": "Chat with your team about any release blockers and changes in a channel that connects easily with your boards, playbooks and other integrations." + }, + { + "id": "worktemplate.project_management.feature_release.description.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools to support your feature release, such as GitHub. These will be downloaded for you." + }, + { + "id": "worktemplate.project_management.feature_release.description.playbook", + "translation": "Boost cross-functional team collaboration with task checklists and automation that support your feature development process. When you’re done, run a retrospective and make improvements for your next release." + }, + { + "id": "worktemplate.project_management.goals_and_okrs.board", + "translation": "Track your team's progress toward organizational goals with the Goals and OKR board. Keep meetings on track with the Meeting Agenda board." + }, + { + "id": "worktemplate.project_management.goals_and_okrs.channel", + "translation": "Chat about your goals and progress with your team, async or real-time, and stay up to date with changes in a single channel." + }, + { + "id": "worktemplate.project_management.goals_and_okrs.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom, to facilitate easy collaboration. These will be downloaded for you." + }, + { + "id": "worktemplate.project_management.product_release.board", + "translation": "Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due." + }, + { + "id": "worktemplate.project_management.product_release.channel", + "translation": "Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly." + }, + { + "id": "worktemplate.project_management.product_release.playbook", + "translation": "Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time." + }, + { + "id": "worktemplate.project_management.product_roadmap.board", + "translation": "Use the Product Roadmap board to manage user feedback, assign resources, view deliverables in a calendar view, and prioritize issues." + }, + { + "id": "worktemplate.project_management.product_roadmap.channel", + "translation": "Chat with your team about your customers' feedback, prioritization, and get aligned on progress together." + }, + { + "id": "worktemplate.qa.bug_bash.channel", + "translation": "Plan and manage bug reports and resolutions in a single channel, that’s easily accessible to your team and organization." + }, + { + "id": "worktemplate.qa.bug_bash.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Jira, to track your bug bash progress. These will be downloaded for you." + }, + { + "id": "worktemplate.qa.bug_bash.playbook", + "translation": "Use checklists to assign testing areas and automated tasks to run a comprehensive bug bash process. Use a retrospective to review your process and improve it for next time." + }, + { + "id": "worktemplate.qa.create_project.board", + "translation": "Use a Kanban board to define and track your project tasks and progress." + }, + { + "id": "worktemplate.qa.create_project.channel", + "translation": "Chat with your team about your new project and decide how you’re going to structure it, in a collaborative channel." + }, + { + "id": "worktemplate.qa.create_project.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools. These will be downloaded for you." + }, + { + "id": "worktemplate.qa.incident_resolution.description.board", + "translation": "Use the Incident Resolution board to support repeatable processes and assign defined tasks across the team." + }, + { + "id": "worktemplate.qa.incident_resolution.description.channel", + "translation": "Chat with your team about priorities, add stakeholders, provide updates, and work toward a resolution in a single channel." + }, + { + "id": "worktemplate.qa.incident_resolution.description.playbook", + "translation": "Use checklists and automation to bring in key team members, and share how your incident is tracking toward resolution." + }, + { + "id": "worktemplate.qa.product_release.board", + "translation": "Use the Product Release board to support your release timeframe and process, ensuring everyone knows which tasks are due." + }, + { + "id": "worktemplate.qa.product_release.channel", + "translation": "Chat with your team about daily milestones, any blockers, and changes to deliverables, easily and quickly." + }, + { + "id": "worktemplate.qa.product_release.playbook", + "translation": "Create repeatable workflows that are easy to follow and implement so product releases are reliable and on time." + }, + { + "id": "worktemplate.qa.sprint_planning.board", + "translation": "Track your team's progress toward weekly goals with sprint breakdowns, prioritization, owner assignment, and comments." + }, + { + "id": "worktemplate.qa.sprint_planning.channel", + "translation": "Chat with your team in a channel that connects easily with your boards and integrations." + }, + { + "id": "worktemplate.qa.sprint_planning.integration", + "translation": "Increase productivity in your channel by integrating your most commonly used tools, such as Zoom. These will be downloaded for you." } ] diff --git a/server/model/onboarding.go b/server/model/onboarding.go index 0fe5e91ffa..ba58be056d 100644 --- a/server/model/onboarding.go +++ b/server/model/onboarding.go @@ -11,6 +11,7 @@ import ( // CompleteOnboardingRequest describes parameters of the requested plugin. type CompleteOnboardingRequest struct { Organization string `json:"organization"` // Organization is the name of the organization + Role string `json:"role"` // Role is the role selected by first admin InstallPlugins []string `json:"install_plugins"` // InstallPlugins is a list of plugins to be installed } diff --git a/server/model/system.go b/server/model/system.go index 24b4fce9c9..98f68d04e1 100644 --- a/server/model/system.go +++ b/server/model/system.go @@ -17,6 +17,7 @@ const ( SystemPostActionCookieSecretKey = "PostActionCookieSecret" SystemInstallationDateKey = "InstallationDate" SystemOrganizationName = "OrganizationName" + SystemFirstAdminRole = "FirstAdminRole" SystemFirstServerRunTimestampKey = "FirstServerRunTimestamp" SystemClusterEncryptionKey = "ClusterEncryptionKey" SystemUpgradedFromTeId = "UpgradedFromTE" diff --git a/webapp/channels/src/components/preparing_workspace/mixins.scss b/webapp/channels/src/components/preparing_workspace/mixins.scss index b3ca03bce8..8350418187 100644 --- a/webapp/channels/src/components/preparing_workspace/mixins.scss +++ b/webapp/channels/src/components/preparing_workspace/mixins.scss @@ -10,3 +10,25 @@ border: 2px solid var(--button-bg); } } + +@mixin sideIllustrationKeyframe($name, $rightPx) { + @keyframes #{$name}SlideInRight { + from { + right: -#{$rightPx}px; + } + + to { + right: 0; + } + } + + @keyframes #{$name}SlideOutRight { + from { + right: 0; + } + + to { + right: -#{$rightPx}px; + } + } +} diff --git a/webapp/channels/src/components/preparing_workspace/preparing_workspace.scss b/webapp/channels/src/components/preparing_workspace/preparing_workspace.scss index d534b6e1de..08f69b9ee3 100644 --- a/webapp/channels/src/components/preparing_workspace/preparing_workspace.scss +++ b/webapp/channels/src/components/preparing_workspace/preparing_workspace.scss @@ -1,5 +1,6 @@ @import 'utils/variables'; @import 'utils/mixins'; +@import 'mixins'; .PreparingWorkspace { width: 100vw; @@ -93,34 +94,35 @@ animation-duration: 0.3s; animation-fill-mode: forwards; animation-timing-function: ease-in-out; - } -} -.enter { - animation-name: slideInRight; -} + @include sideIllustrationKeyframe(invitation, 651); -.exit { - animation-name: slideOutRight; -} + &.enter { + animation-name: invitationSlideInRight; + } -@keyframes slideInRight { - from { - right: -651px; + &.exit { + animation-name: invitationSlideOutRight; + } } - to { - right: 0; - } -} + &__roles-illustration { + position: absolute; + right: -295px; + bottom: 0; + animation-duration: 0.3s; + animation-fill-mode: forwards; + animation-timing-function: ease-in-out; -@keyframes slideOutRight { - from { - right: 0; - } + @include sideIllustrationKeyframe(roles, 295); - to { - right: -651px; + &.enter { + animation-name: rolesSlideInRight; + } + + &.exit { + animation-name: rolesSlideOutRight; + } } } @@ -146,3 +148,10 @@ overflow-y: visible; } } + +@media screen and (max-width: 1199px) { + .PreparingWorkspace__roles-illustration, + .PreparingWorkspace__invite-members-illustration { + display: none; + } +} diff --git a/webapp/channels/src/components/preparing_workspace/preparing_workspace.tsx b/webapp/channels/src/components/preparing_workspace/preparing_workspace.tsx index 90f45c3928..57d87d3def 100644 --- a/webapp/channels/src/components/preparing_workspace/preparing_workspace.tsx +++ b/webapp/channels/src/components/preparing_workspace/preparing_workspace.tsx @@ -18,6 +18,8 @@ import {getCurrentTeam, getMyTeams} from 'mattermost-redux/selectors/entities/te import {getFirstAdminSetupComplete, getConfig, getLicense} from 'mattermost-redux/selectors/entities/general'; import {Client4} from 'mattermost-redux/client'; +import {CategoryOther} from '@mattermost/types/work_templates'; + import Constants from 'utils/constants'; import {getSiteURL, teamNameToUrl} from 'utils/url'; import {makeNewTeam} from 'utils/team_utils'; @@ -42,6 +44,8 @@ import { } from './steps'; import Organization from './organization'; +import Roles from './roles'; +import RolesIllustration from './roles_illustration'; import Plugins from './plugins'; import Progress from './progress'; import InviteMembers from './invite_members'; @@ -90,6 +94,7 @@ function makeSubmitFail(step: WizardStep) { const trackSubmitFail = { [WizardSteps.Organization]: makeSubmitFail(WizardSteps.Organization), + [WizardSteps.Roles]: makeSubmitFail(WizardSteps.Roles), [WizardSteps.Plugins]: makeSubmitFail(WizardSteps.Plugins), [WizardSteps.InviteMembers]: makeSubmitFail(WizardSteps.InviteMembers), [WizardSteps.LaunchingWorkspace]: makeSubmitFail(WizardSteps.LaunchingWorkspace), @@ -97,6 +102,7 @@ const trackSubmitFail = { const onPageViews = { [WizardSteps.Organization]: makeOnPageView(WizardSteps.Organization), + [WizardSteps.Roles]: makeOnPageView(WizardSteps.Roles), [WizardSteps.Plugins]: makeOnPageView(WizardSteps.Plugins), [WizardSteps.InviteMembers]: makeOnPageView(WizardSteps.InviteMembers), [WizardSteps.LaunchingWorkspace]: makeOnPageView(WizardSteps.LaunchingWorkspace), @@ -128,6 +134,7 @@ const PreparingWorkspace = (props: Props) => { const stepOrder = [ isSelfHosted && WizardSteps.Organization, + WizardSteps.Roles, pluginsEnabled && WizardSteps.Plugins, WizardSteps.InviteMembers, WizardSteps.LaunchingWorkspace, @@ -256,6 +263,7 @@ const PreparingWorkspace = (props: Props) => { // even if admin skipped submitting plugins. const completeSetupRequest = { organization: form.organization, + role: form.role === CategoryOther ? form.roleOther : form.role, install_plugins: pluginsToSetup, }; @@ -365,6 +373,15 @@ const PreparingWorkspace = (props: Props) => { return ''; }, [currentStep]); + const getRolesAnimationClass = useCallback(() => { + if (currentStep === WizardSteps.Roles) { + return 'enter'; + } else if (mostRecentStep === WizardSteps.Roles) { + return 'exit'; + } + return ''; + }, [currentStep]); + let previous: React.ReactNode = (
{ updateTeam={updateTeam} /> + { + makeNext(WizardSteps.Roles)({ + role: form.role, + roleOther: form.roleOther, + }); + }} + quickNext={(role: string) => { + setForm({ + ...form, + role, + roleOther: '', + }); + makeNext(WizardSteps.Roles)({ + role, + roleOther: '', + }); + }} + skip={() => { + setForm({ + ...form, + role: '', + roleOther: '', + }); + makeNext(WizardSteps.Roles, true)(); + }} + transitionDirection={getTransitionDirection(WizardSteps.Roles)} + show={shouldShowPage(WizardSteps.Roles)} + role={form.role} + roleOther={form.roleOther} + setRole={(role: Form['role'], roleOther: Form['roleOther']) => { + setForm({ + ...form, + role, + roleOther, + }); + }} + className='child-page' + /> + {
+
+ +
); }; diff --git a/webapp/channels/src/components/preparing_workspace/roles.scss b/webapp/channels/src/components/preparing_workspace/roles.scss new file mode 100644 index 0000000000..ec785c7247 --- /dev/null +++ b/webapp/channels/src/components/preparing_workspace/roles.scss @@ -0,0 +1,47 @@ +@import 'utils/mixins'; + +$btn-margin-right: 24px; + +.plugins-skip-btn { + margin-left: 8px; +} + +.Roles__input { + width: calc(100% - $btn-margin-right); + padding: 10px 16px; + border: 2px solid rgba(var(--center-channel-color-rgb), 0.16); + border-radius: 4px; + font-size: 16px; + + &:active, + &:focus { + border: 2px solid var(--button-bg); + } +} + +.Roles-body { + .PreparingWorkspacePageBody { + max-width: 600px; + } + + .Roles-list { + display: flex; + flex-wrap: wrap; + } + + .role-button { + @include secondary-button; + @include button-large; + + border-color: rgba(63, 67, 80, 0.16); + margin-right: $btn-margin-right; + margin-bottom: 24px; + color: #3f4350; + + &.active { + background: rgba(var(--denim-button-bg-rgb), 0.16); + } + } +} + +@include simple-in-and-out("Roles"); diff --git a/webapp/channels/src/components/preparing_workspace/roles.tsx b/webapp/channels/src/components/preparing_workspace/roles.tsx new file mode 100644 index 0000000000..8e80b7d702 --- /dev/null +++ b/webapp/channels/src/components/preparing_workspace/roles.tsx @@ -0,0 +1,158 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +import React, {useEffect} from 'react'; +import {FormattedMessage, useIntl} from 'react-intl'; +import {CSSTransition} from 'react-transition-group'; + +import {Animations, mapAnimationReasonToClass, Form, PreparingWorkspacePageProps} from './steps'; + +import Title from './title'; +import Description from './description'; +import PageBody from './page_body'; +import SingleColumnLayout from './single_column_layout'; + +import PageLine from './page_line'; +import './roles.scss'; +import {useDispatch, useSelector} from 'react-redux'; +import {getWorkTemplateCategories as fetchCategories} from 'mattermost-redux/actions/work_templates'; +import {getWorkTemplateCategories} from 'selectors/work_template'; +import classNames from 'classnames'; +import QuickInput from 'components/quick_input'; +import {CategoryOther} from '@mattermost/types/work_templates'; + +type Props = PreparingWorkspacePageProps & { + role: Form['role']; + roleOther: Form['roleOther']; + setRole: (role: string, roleOther: string) => void; + className?: string; + quickNext(role: string): void; +} +const Roles = ({role, next, ...props}: Props) => { + const {formatMessage} = useIntl(); + const dispatch = useDispatch(); + const categories = useSelector(getWorkTemplateCategories); + + let className = 'Roles-body'; + + useEffect(() => { + dispatch(fetchCategories()); + }, []); + + useEffect(() => { + if (props.show) { + props.onPageView(); + } + }, [props.show]); + + if (props.className) { + className += ' ' + props.className; + } + + const title = ( + + ); + const description = ( + + ); + + const selectRole = (role: string) => { + if (role !== CategoryOther) { + props.quickNext(role); + } + props.setRole(role, ''); + }; + + const roleIsSet = Boolean(role); + const roleOtherIsSet = Boolean(props.roleOther); + const canContinue = (roleIsSet && role !== CategoryOther) || (role === CategoryOther && roleOtherIsSet); + + return ( + +
+ + + {props.previous} + + {title} + + {description} + +
+ {categories.map((category) => ( + + ))} +
+ {role === CategoryOther && ( + props.setRole(CategoryOther, e.target.value)} + placeholder={formatMessage({ + id: 'onboarding_wizard.roles.other_input_placeholder', + defaultMessage: 'Please share your primary function', + })} + /> + )} +
+
+ + +
+ +
+
+
+ ); +}; + +export default Roles; diff --git a/webapp/channels/src/components/preparing_workspace/roles_illustration.tsx b/webapp/channels/src/components/preparing_workspace/roles_illustration.tsx new file mode 100644 index 0000000000..21d8aaba00 --- /dev/null +++ b/webapp/channels/src/components/preparing_workspace/roles_illustration.tsx @@ -0,0 +1,218 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +import React, {SVGProps, memo} from 'react'; +const SvgComponent = (props: SVGProps) => ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +); +const Memo = memo(SvgComponent); +export default Memo; diff --git a/webapp/channels/src/components/preparing_workspace/steps.ts b/webapp/channels/src/components/preparing_workspace/steps.ts index cbb78da5b6..0f30fab766 100644 --- a/webapp/channels/src/components/preparing_workspace/steps.ts +++ b/webapp/channels/src/components/preparing_workspace/steps.ts @@ -5,6 +5,7 @@ import deepFreeze from 'mattermost-redux/utils/deep_freeze'; export const WizardSteps = { Organization: 'Organization', + Roles: 'Roles', Plugins: 'Plugins', InviteMembers: 'InviteMembers', LaunchingWorkspace: 'LaunchingWorkspace', @@ -24,6 +25,8 @@ export function mapStepToNextName(step: WizardStep): string { switch (step) { case WizardSteps.Organization: return 'admin_onboarding_next_organization'; + case WizardSteps.Roles: + return 'admin_onboarding_next_roles'; case WizardSteps.Plugins: return 'admin_onboarding_next_plugins'; case WizardSteps.InviteMembers: @@ -39,6 +42,8 @@ export function mapStepToPrevious(step: WizardStep): string { switch (step) { case WizardSteps.Organization: return 'admin_onboarding_previous_organization'; + case WizardSteps.Roles: + return 'admin_onboarding_previous_roles'; case WizardSteps.Plugins: return 'admin_onboarding_previous_plugins'; case WizardSteps.InviteMembers: @@ -54,6 +59,8 @@ export function mapStepToPageView(step: WizardStep): string { switch (step) { case WizardSteps.Organization: return 'pageview_admin_onboarding_organization'; + case WizardSteps.Roles: + return 'pageview_admin_onboarding_roles'; case WizardSteps.Plugins: return 'pageview_admin_onboarding_plugins'; case WizardSteps.InviteMembers: @@ -69,6 +76,8 @@ export function mapStepToSubmitFail(step: WizardStep): string { switch (step) { case WizardSteps.Organization: return 'admin_onboarding_organization_submit_fail'; + case WizardSteps.Roles: + return 'admin_onboarding_roles_submit_fail'; case WizardSteps.Plugins: return 'admin_onboarding_plugins_submit_fail'; case WizardSteps.InviteMembers: @@ -84,6 +93,8 @@ export function mapStepToSkipName(step: WizardStep): string { switch (step) { case WizardSteps.Organization: return 'admin_onboarding_skip_organization'; + case WizardSteps.Roles: + return 'admin_onboarding_skip_roles'; case WizardSteps.Plugins: return 'admin_onboarding_skip_plugins'; case WizardSteps.InviteMembers: @@ -127,6 +138,8 @@ export const PLUGIN_NAME_TO_ID_MAP: PluginNameMap = { export type Form = { organization?: string; + role?: string; + roleOther?: string; url?: string; urlSkipped: boolean; inferredProtocol: 'http' | 'https' | null; @@ -184,6 +197,8 @@ export const emptyForm = deepFreeze({ invites: [], skipped: false, }, + role: '', + roleOther: '', }); export type PreparingWorkspacePageProps = { diff --git a/webapp/channels/src/components/work_templates/components/menu.tsx b/webapp/channels/src/components/work_templates/components/menu.tsx index cecb810e9c..18bdc73a1e 100644 --- a/webapp/channels/src/components/work_templates/components/menu.tsx +++ b/webapp/channels/src/components/work_templates/components/menu.tsx @@ -37,6 +37,11 @@ const CategoryButton = styled.button` background: none; text-align: left; + &:hover { + background: rgba(var(--denim-button-bg-rgb), 0.04); + cursor: pointer; + } + &.selected { background: rgba(var(--denim-button-bg-rgb), 0.04); font-weight: 600; diff --git a/webapp/channels/src/i18n/en.json b/webapp/channels/src/i18n/en.json index a7f29fd777..3d7d73cce2 100644 --- a/webapp/channels/src/i18n/en.json +++ b/webapp/channels/src/i18n/en.json @@ -4236,6 +4236,9 @@ "onboarding_wizard.plugins.zoom": "Zoom", "onboarding_wizard.plugins.zoom.tooltip": "Start Zoom audio and video conferencing calls in Mattermost with a single click", "onboarding_wizard.previous": "Previous", + "onboarding_wizard.roles.description": "We’ll use this to suggest templates to help get you started.", + "onboarding_wizard.roles.other_input_placeholder": "Please share your primary function", + "onboarding_wizard.roles.title": "What is your primary function?", "onboarding_wizard.self_hosted_plugins.description": "Choose the tools you work with, and we'll add them to your workspace. Additional set up may be needed later.", "onboarding_wizard.self_hosted_plugins.title": "What tools do you use?", "onboarding_wizard.skip-button": "Skip", diff --git a/webapp/channels/src/images/worktemplates/boards/content_calendar.png b/webapp/channels/src/images/worktemplates/boards/content_calendar.png new file mode 100644 index 0000000000..6fd6754a07 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/boards/content_calendar.png differ diff --git a/webapp/channels/src/images/worktemplates/design/content_calendar/channel.png b/webapp/channels/src/images/worktemplates/design/content_calendar/channel.png new file mode 100644 index 0000000000..773ceb6351 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/design/content_calendar/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/design/content_calendar/content_calendar.png b/webapp/channels/src/images/worktemplates/design/content_calendar/content_calendar.png new file mode 100644 index 0000000000..f6ffc6527a Binary files /dev/null and b/webapp/channels/src/images/worktemplates/design/content_calendar/content_calendar.png differ diff --git a/webapp/channels/src/images/worktemplates/design/create_project/channel.png b/webapp/channels/src/images/worktemplates/design/create_project/channel.png new file mode 100644 index 0000000000..73ccd4c4dc Binary files /dev/null and b/webapp/channels/src/images/worktemplates/design/create_project/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/design/create_project/create_project.png b/webapp/channels/src/images/worktemplates/design/create_project/create_project.png new file mode 100644 index 0000000000..ed1b49ff19 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/design/create_project/create_project.png differ diff --git a/webapp/channels/src/images/worktemplates/design/feature_release/channel.png b/webapp/channels/src/images/worktemplates/design/feature_release/channel.png new file mode 100644 index 0000000000..c488a16c08 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/design/feature_release/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/design/feature_release/feature_release.png b/webapp/channels/src/images/worktemplates/design/feature_release/feature_release.png new file mode 100644 index 0000000000..ae7090e2dd Binary files /dev/null and b/webapp/channels/src/images/worktemplates/design/feature_release/feature_release.png differ diff --git a/webapp/channels/src/images/worktemplates/design/product_release/channel.png b/webapp/channels/src/images/worktemplates/design/product_release/channel.png new file mode 100644 index 0000000000..79c613c5e2 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/design/product_release/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/design/product_release/product_release.png b/webapp/channels/src/images/worktemplates/design/product_release/product_release.png new file mode 100644 index 0000000000..8b2c90788f Binary files /dev/null and b/webapp/channels/src/images/worktemplates/design/product_release/product_release.png differ diff --git a/webapp/channels/src/images/worktemplates/design/sprint_planning/channel.png b/webapp/channels/src/images/worktemplates/design/sprint_planning/channel.png new file mode 100644 index 0000000000..0d087d0741 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/design/sprint_planning/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/design/sprint_planning/sprint_planning.png b/webapp/channels/src/images/worktemplates/design/sprint_planning/sprint_planning.png new file mode 100644 index 0000000000..c3bcfe01da Binary files /dev/null and b/webapp/channels/src/images/worktemplates/design/sprint_planning/sprint_planning.png differ diff --git a/webapp/channels/src/images/worktemplates/devops/bug_bash/bug_bash.png b/webapp/channels/src/images/worktemplates/devops/bug_bash/bug_bash.png new file mode 100644 index 0000000000..8ebf0f58f5 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/devops/bug_bash/bug_bash.png differ diff --git a/webapp/channels/src/images/worktemplates/devops/bug_bash/channel.png b/webapp/channels/src/images/worktemplates/devops/bug_bash/channel.png new file mode 100644 index 0000000000..499917704a Binary files /dev/null and b/webapp/channels/src/images/worktemplates/devops/bug_bash/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/devops/create_project/channel.png b/webapp/channels/src/images/worktemplates/devops/create_project/channel.png new file mode 100644 index 0000000000..73ccd4c4dc Binary files /dev/null and b/webapp/channels/src/images/worktemplates/devops/create_project/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/devops/create_project/create_project.png b/webapp/channels/src/images/worktemplates/devops/create_project/create_project.png new file mode 100644 index 0000000000..ed1b49ff19 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/devops/create_project/create_project.png differ diff --git a/webapp/channels/src/images/worktemplates/devops/sprint_planning/channel.png b/webapp/channels/src/images/worktemplates/devops/sprint_planning/channel.png new file mode 100644 index 0000000000..0d087d0741 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/devops/sprint_planning/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/devops/sprint_planning/sprint_planning.png b/webapp/channels/src/images/worktemplates/devops/sprint_planning/sprint_planning.png new file mode 100644 index 0000000000..c3bcfe01da Binary files /dev/null and b/webapp/channels/src/images/worktemplates/devops/sprint_planning/sprint_planning.png differ diff --git a/webapp/channels/src/images/worktemplates/engineering/bug_bash/bug_bash.png b/webapp/channels/src/images/worktemplates/engineering/bug_bash/bug_bash.png new file mode 100644 index 0000000000..8ebf0f58f5 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/engineering/bug_bash/bug_bash.png differ diff --git a/webapp/channels/src/images/worktemplates/engineering/bug_bash/channel.png b/webapp/channels/src/images/worktemplates/engineering/bug_bash/channel.png new file mode 100644 index 0000000000..499917704a Binary files /dev/null and b/webapp/channels/src/images/worktemplates/engineering/bug_bash/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/engineering/create_project/channel.png b/webapp/channels/src/images/worktemplates/engineering/create_project/channel.png new file mode 100644 index 0000000000..73ccd4c4dc Binary files /dev/null and b/webapp/channels/src/images/worktemplates/engineering/create_project/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/engineering/create_project/create_project.png b/webapp/channels/src/images/worktemplates/engineering/create_project/create_project.png new file mode 100644 index 0000000000..ed1b49ff19 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/engineering/create_project/create_project.png differ diff --git a/webapp/channels/src/images/worktemplates/engineering/feature_release/channel.png b/webapp/channels/src/images/worktemplates/engineering/feature_release/channel.png new file mode 100644 index 0000000000..c488a16c08 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/engineering/feature_release/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/engineering/feature_release/feature_release.png b/webapp/channels/src/images/worktemplates/engineering/feature_release/feature_release.png new file mode 100644 index 0000000000..ae7090e2dd Binary files /dev/null and b/webapp/channels/src/images/worktemplates/engineering/feature_release/feature_release.png differ diff --git a/webapp/channels/src/images/worktemplates/engineering/goals_and_okrs/channel.png b/webapp/channels/src/images/worktemplates/engineering/goals_and_okrs/channel.png new file mode 100644 index 0000000000..66ef1ec443 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/engineering/goals_and_okrs/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/engineering/goals_and_okrs/goals_and_okrs.png b/webapp/channels/src/images/worktemplates/engineering/goals_and_okrs/goals_and_okrs.png new file mode 100644 index 0000000000..ea2ebad29d Binary files /dev/null and b/webapp/channels/src/images/worktemplates/engineering/goals_and_okrs/goals_and_okrs.png differ diff --git a/webapp/channels/src/images/worktemplates/engineering/sprint_planning/channel.png b/webapp/channels/src/images/worktemplates/engineering/sprint_planning/channel.png new file mode 100644 index 0000000000..0d087d0741 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/engineering/sprint_planning/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/engineering/sprint_planning/sprint_planning.png b/webapp/channels/src/images/worktemplates/engineering/sprint_planning/sprint_planning.png new file mode 100644 index 0000000000..c3bcfe01da Binary files /dev/null and b/webapp/channels/src/images/worktemplates/engineering/sprint_planning/sprint_planning.png differ diff --git a/webapp/channels/src/images/worktemplates/leadership/content_calendar/channel.png b/webapp/channels/src/images/worktemplates/leadership/content_calendar/channel.png new file mode 100644 index 0000000000..773ceb6351 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/leadership/content_calendar/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/leadership/content_calendar/content_calendar.png b/webapp/channels/src/images/worktemplates/leadership/content_calendar/content_calendar.png new file mode 100644 index 0000000000..f6ffc6527a Binary files /dev/null and b/webapp/channels/src/images/worktemplates/leadership/content_calendar/content_calendar.png differ diff --git a/webapp/channels/src/images/worktemplates/leadership/create_project/channel.png b/webapp/channels/src/images/worktemplates/leadership/create_project/channel.png new file mode 100644 index 0000000000..73ccd4c4dc Binary files /dev/null and b/webapp/channels/src/images/worktemplates/leadership/create_project/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/leadership/create_project/create_project.png b/webapp/channels/src/images/worktemplates/leadership/create_project/create_project.png new file mode 100644 index 0000000000..ed1b49ff19 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/leadership/create_project/create_project.png differ diff --git a/webapp/channels/src/images/worktemplates/leadership/incident_resolution/channel.png b/webapp/channels/src/images/worktemplates/leadership/incident_resolution/channel.png new file mode 100644 index 0000000000..e68fc26220 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/leadership/incident_resolution/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/leadership/incident_resolution/incident_resolution.png b/webapp/channels/src/images/worktemplates/leadership/incident_resolution/incident_resolution.png new file mode 100644 index 0000000000..7f48afb9f7 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/leadership/incident_resolution/incident_resolution.png differ diff --git a/webapp/channels/src/images/worktemplates/marketing/content_calendar/channel.png b/webapp/channels/src/images/worktemplates/marketing/content_calendar/channel.png new file mode 100644 index 0000000000..773ceb6351 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/marketing/content_calendar/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/marketing/content_calendar/content_calendar.png b/webapp/channels/src/images/worktemplates/marketing/content_calendar/content_calendar.png new file mode 100644 index 0000000000..f6ffc6527a Binary files /dev/null and b/webapp/channels/src/images/worktemplates/marketing/content_calendar/content_calendar.png differ diff --git a/webapp/channels/src/images/worktemplates/marketing/create_project/channel.png b/webapp/channels/src/images/worktemplates/marketing/create_project/channel.png new file mode 100644 index 0000000000..73ccd4c4dc Binary files /dev/null and b/webapp/channels/src/images/worktemplates/marketing/create_project/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/marketing/create_project/create_project.png b/webapp/channels/src/images/worktemplates/marketing/create_project/create_project.png new file mode 100644 index 0000000000..ed1b49ff19 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/marketing/create_project/create_project.png differ diff --git a/webapp/channels/src/images/worktemplates/marketing/goals_and_okrs/channel.png b/webapp/channels/src/images/worktemplates/marketing/goals_and_okrs/channel.png new file mode 100644 index 0000000000..66ef1ec443 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/marketing/goals_and_okrs/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/marketing/goals_and_okrs/goals_and_okrs.png b/webapp/channels/src/images/worktemplates/marketing/goals_and_okrs/goals_and_okrs.png new file mode 100644 index 0000000000..ea2ebad29d Binary files /dev/null and b/webapp/channels/src/images/worktemplates/marketing/goals_and_okrs/goals_and_okrs.png differ diff --git a/webapp/channels/src/images/worktemplates/marketing/product_release/channel.png b/webapp/channels/src/images/worktemplates/marketing/product_release/channel.png new file mode 100644 index 0000000000..79c613c5e2 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/marketing/product_release/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/marketing/product_release/product_release.png b/webapp/channels/src/images/worktemplates/marketing/product_release/product_release.png new file mode 100644 index 0000000000..8b2c90788f Binary files /dev/null and b/webapp/channels/src/images/worktemplates/marketing/product_release/product_release.png differ diff --git a/webapp/channels/src/images/worktemplates/other/create_project/channel.png b/webapp/channels/src/images/worktemplates/other/create_project/channel.png new file mode 100644 index 0000000000..73ccd4c4dc Binary files /dev/null and b/webapp/channels/src/images/worktemplates/other/create_project/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/other/create_project/create_project.png b/webapp/channels/src/images/worktemplates/other/create_project/create_project.png new file mode 100644 index 0000000000..ed1b49ff19 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/other/create_project/create_project.png differ diff --git a/webapp/channels/src/images/worktemplates/other/feature_release/channel.png b/webapp/channels/src/images/worktemplates/other/feature_release/channel.png new file mode 100644 index 0000000000..c488a16c08 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/other/feature_release/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/other/feature_release/feature_release.png b/webapp/channels/src/images/worktemplates/other/feature_release/feature_release.png new file mode 100644 index 0000000000..ae7090e2dd Binary files /dev/null and b/webapp/channels/src/images/worktemplates/other/feature_release/feature_release.png differ diff --git a/webapp/channels/src/images/worktemplates/other/goals_and_okrs/channel.png b/webapp/channels/src/images/worktemplates/other/goals_and_okrs/channel.png new file mode 100644 index 0000000000..66ef1ec443 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/other/goals_and_okrs/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/other/goals_and_okrs/goals_and_okrs.png b/webapp/channels/src/images/worktemplates/other/goals_and_okrs/goals_and_okrs.png new file mode 100644 index 0000000000..ea2ebad29d Binary files /dev/null and b/webapp/channels/src/images/worktemplates/other/goals_and_okrs/goals_and_okrs.png differ diff --git a/webapp/channels/src/images/worktemplates/other/incident_resolution/channel.png b/webapp/channels/src/images/worktemplates/other/incident_resolution/channel.png new file mode 100644 index 0000000000..e68fc26220 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/other/incident_resolution/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/other/incident_resolution/incident_resolution.png b/webapp/channels/src/images/worktemplates/other/incident_resolution/incident_resolution.png new file mode 100644 index 0000000000..7f48afb9f7 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/other/incident_resolution/incident_resolution.png differ diff --git a/webapp/channels/src/images/worktemplates/other/product_release/channel.png b/webapp/channels/src/images/worktemplates/other/product_release/channel.png new file mode 100644 index 0000000000..79c613c5e2 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/other/product_release/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/other/product_release/product_release.png b/webapp/channels/src/images/worktemplates/other/product_release/product_release.png new file mode 100644 index 0000000000..8b2c90788f Binary files /dev/null and b/webapp/channels/src/images/worktemplates/other/product_release/product_release.png differ diff --git a/webapp/channels/src/images/worktemplates/project_management/create_project/channel.png b/webapp/channels/src/images/worktemplates/project_management/create_project/channel.png new file mode 100644 index 0000000000..73ccd4c4dc Binary files /dev/null and b/webapp/channels/src/images/worktemplates/project_management/create_project/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/project_management/create_project/create_project.png b/webapp/channels/src/images/worktemplates/project_management/create_project/create_project.png new file mode 100644 index 0000000000..ed1b49ff19 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/project_management/create_project/create_project.png differ diff --git a/webapp/channels/src/images/worktemplates/project_management/feature_release/channel.png b/webapp/channels/src/images/worktemplates/project_management/feature_release/channel.png new file mode 100644 index 0000000000..c488a16c08 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/project_management/feature_release/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/project_management/feature_release/feature_release.png b/webapp/channels/src/images/worktemplates/project_management/feature_release/feature_release.png new file mode 100644 index 0000000000..ae7090e2dd Binary files /dev/null and b/webapp/channels/src/images/worktemplates/project_management/feature_release/feature_release.png differ diff --git a/webapp/channels/src/images/worktemplates/project_management/goals_and_okrs/channel.png b/webapp/channels/src/images/worktemplates/project_management/goals_and_okrs/channel.png new file mode 100644 index 0000000000..66ef1ec443 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/project_management/goals_and_okrs/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/project_management/goals_and_okrs/goals_and_okrs.png b/webapp/channels/src/images/worktemplates/project_management/goals_and_okrs/goals_and_okrs.png new file mode 100644 index 0000000000..ea2ebad29d Binary files /dev/null and b/webapp/channels/src/images/worktemplates/project_management/goals_and_okrs/goals_and_okrs.png differ diff --git a/webapp/channels/src/images/worktemplates/project_management/product_release/channel.png b/webapp/channels/src/images/worktemplates/project_management/product_release/channel.png new file mode 100644 index 0000000000..79c613c5e2 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/project_management/product_release/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/project_management/product_release/product_release.png b/webapp/channels/src/images/worktemplates/project_management/product_release/product_release.png new file mode 100644 index 0000000000..8b2c90788f Binary files /dev/null and b/webapp/channels/src/images/worktemplates/project_management/product_release/product_release.png differ diff --git a/webapp/channels/src/images/worktemplates/project_management/product_roadmap/channel.png b/webapp/channels/src/images/worktemplates/project_management/product_roadmap/channel.png new file mode 100644 index 0000000000..3687297caa Binary files /dev/null and b/webapp/channels/src/images/worktemplates/project_management/product_roadmap/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/project_management/product_roadmap/product_roadmap.png b/webapp/channels/src/images/worktemplates/project_management/product_roadmap/product_roadmap.png new file mode 100644 index 0000000000..e45c56130c Binary files /dev/null and b/webapp/channels/src/images/worktemplates/project_management/product_roadmap/product_roadmap.png differ diff --git a/webapp/channels/src/images/worktemplates/qa/bug_bash/bug_bash.png b/webapp/channels/src/images/worktemplates/qa/bug_bash/bug_bash.png new file mode 100644 index 0000000000..8ebf0f58f5 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/qa/bug_bash/bug_bash.png differ diff --git a/webapp/channels/src/images/worktemplates/qa/bug_bash/channel.png b/webapp/channels/src/images/worktemplates/qa/bug_bash/channel.png new file mode 100644 index 0000000000..499917704a Binary files /dev/null and b/webapp/channels/src/images/worktemplates/qa/bug_bash/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/qa/create_project/channel.png b/webapp/channels/src/images/worktemplates/qa/create_project/channel.png new file mode 100644 index 0000000000..73ccd4c4dc Binary files /dev/null and b/webapp/channels/src/images/worktemplates/qa/create_project/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/qa/create_project/create_project.png b/webapp/channels/src/images/worktemplates/qa/create_project/create_project.png new file mode 100644 index 0000000000..ed1b49ff19 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/qa/create_project/create_project.png differ diff --git a/webapp/channels/src/images/worktemplates/qa/incident_resolution/channel.png b/webapp/channels/src/images/worktemplates/qa/incident_resolution/channel.png new file mode 100644 index 0000000000..e68fc26220 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/qa/incident_resolution/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/qa/incident_resolution/incident_resolution.png b/webapp/channels/src/images/worktemplates/qa/incident_resolution/incident_resolution.png new file mode 100644 index 0000000000..7f48afb9f7 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/qa/incident_resolution/incident_resolution.png differ diff --git a/webapp/channels/src/images/worktemplates/qa/product_release/channel.png b/webapp/channels/src/images/worktemplates/qa/product_release/channel.png new file mode 100644 index 0000000000..79c613c5e2 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/qa/product_release/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/qa/product_release/product_release.png b/webapp/channels/src/images/worktemplates/qa/product_release/product_release.png new file mode 100644 index 0000000000..8b2c90788f Binary files /dev/null and b/webapp/channels/src/images/worktemplates/qa/product_release/product_release.png differ diff --git a/webapp/channels/src/images/worktemplates/qa/sprint_planning/channel.png b/webapp/channels/src/images/worktemplates/qa/sprint_planning/channel.png new file mode 100644 index 0000000000..0d087d0741 Binary files /dev/null and b/webapp/channels/src/images/worktemplates/qa/sprint_planning/channel.png differ diff --git a/webapp/channels/src/images/worktemplates/qa/sprint_planning/sprint_planning.png b/webapp/channels/src/images/worktemplates/qa/sprint_planning/sprint_planning.png new file mode 100644 index 0000000000..c3bcfe01da Binary files /dev/null and b/webapp/channels/src/images/worktemplates/qa/sprint_planning/sprint_planning.png differ diff --git a/webapp/channels/src/selectors/work_template.ts b/webapp/channels/src/selectors/work_template.ts index 1f9774b47d..cbeb19cc3a 100644 --- a/webapp/channels/src/selectors/work_template.ts +++ b/webapp/channels/src/selectors/work_template.ts @@ -23,3 +23,4 @@ export const areWorkTemplatesEnabled = createSelector( }, ); +export const getWorkTemplateCategories = (state: GlobalState) => state.entities.worktemplates.categories; diff --git a/webapp/platform/types/src/setup.ts b/webapp/platform/types/src/setup.ts index 085527a434..a1db464eea 100644 --- a/webapp/platform/types/src/setup.ts +++ b/webapp/platform/types/src/setup.ts @@ -3,5 +3,6 @@ export type CompleteOnboardingRequest = { organization: string; + role?: string; install_plugins: string[]; } diff --git a/webapp/platform/types/src/work_templates.ts b/webapp/platform/types/src/work_templates.ts index 8b18abf958..6bced84f51 100644 --- a/webapp/platform/types/src/work_templates.ts +++ b/webapp/platform/types/src/work_templates.ts @@ -96,3 +96,5 @@ export enum Visibility { Public = 'public', Private = 'private', } + +export const CategoryOther = 'other'