Mattermost Handbook
Need help?How to spend company moneyHow to update the HandbookRelease overview
0.2.1
0.2.1
  • Mattermost Handbook
  • Company
    • About Mattermost
      • List of terms
      • Business model
      • Mindsets
    • "How to" guides for staff
      • How to set up a 1-1 channel
      • How to update the handbook
      • How to manage Handbook notifications
      • How to change mobile device
        • How to handle a lost mobile device
      • How to do a mini-retrospective
      • How to autolink keywords in Mattermost
  • Operations
    • Company operations
      • Areas of Responsibility
      • Mattermost Leadership Team (MLT)
        • MLT cadence
      • Company measures
        • Metrics definitions
        • FY23 goals board
        • MLT metrics
      • Company cadence
      • Company policies
        • Community response policy
        • Security policy
      • Company processes
        • Issue/solution process
        • Company agreements
        • Publishing
          • Public web properties
          • Publishing guidelines
            • Brand and visual design guidelines
            • Voice, tone, and writing style guidelines
              • Contribute to documentation
            • Confidentiality guidelines
          • Post-publication quality control process
      • Handbook processes and policies
        • Handbook onboarding
      • Fiscal year planning
    • Research and Development
      • Organization
        • Tech Writing
        • Data engineering
        • Delivery
        • Cloud Platform
        • Site Reliability Engineering
        • GRC
        • Product Security
        • Security Operations
      • Processes
        • Feature Labels
      • Product
        • Product planning
          • Product philosophy and principles
          • Prioritization process
          • Release planning process
          • Roadmap views
          • Release plan
          • Launch plan
          • Feature requests
        • Development process
          • Mobile feature guidelines
          • Deprecation policy
          • Mattermost software requirements process
          • Jira ticket lifecycle
          • Creating new Jira bug tickets
            • Priority levels for tickets
            • Jira fix versions
        • Release process
          • Release overview
          • Feature release process
          • Dot release process
          • Security release process
          • Mobile app release process
          • Desktop app release process
          • Release tips
          • Release scorecard definitions
        • How-to guides for Product
          • How to use productboard
          • How to record a roadmap video
          • How to update integrations directory
          • How to write a feature release announcement
        • Product Management team handbook
          • Product Management Areas of Ownership
          • Product Manager onboarding
          • Product Manager levels
          • Professional development
        • Product Design team handbook
          • Product Design levels
        • Technical Writing team handbook
          • Work with us
          • User interface text guidelines
          • Documentation style guide
          • Our terminology
          • Guidelines for PMs and developers
          • Guidelines for community contributions
          • Technical Writer levels
          • Docathon 2021
            • Getting started with contributing
        • Growth
          • A/B testing methodology
          • PQL definition
        • Analytics
          • Product Analyst Engineer levels
          • Looker
            • Dashboards
            • Explores
          • Telemetry
        • Developer relations
        • Product team hangouts
      • Engineering
        • Infrastructure engineering
          • Cloud infrastructure cost KPIs
          • Cloud data export process
          • Cloud churn process
          • Reliability Manifesto
          • Production Readiness Review
          • Infrastructure Library
        • Integrations team processes
        • Plugin release process
        • Data Engineering
        • Sustained Engineering
          • On call
        • How to go to a conference
        • Public speaking
        • Core contributor expanded access policy
      • Quality Assurance
        • QA workflow
        • QA testing tips and tools
        • Rainforest process
    • Messaging and Math
      • How-to guides for M&M
        • How to create release announcements
        • How to create screenshots and GIFs
        • How to write Mattermost case studies
        • How to write guest blog posts for Mattermost apps and services
        • How to write Mattermost recipes
        • How to compose tweets
        • How to create a split test for web page
        • How to run meetups
        • How to run executive dinners
      • Checklists for M&M
        • Blog post checklist
        • Bio checklist
      • Mattermost websites
      • Demand generation reporting
      • M&M Asana guidelines
      • Content marketing
        • How to use the editorial calendar
        • Content development and distribution
        • Video content guidelines
        • How to contribute content
    • Sales
      • Deal Desk
      • Partner programs
      • Lead management
    • Deployment Engineering
      • Overview
      • Workflows
      • Frequently Asked Questions
      • Playbook for MME Sev 1 Outages
      • Status Update Template
    • Program Management
    • Customer Success
      • Customer Support
    • Legal
      • Contracts
      • Ironclad Basics
        • Company-Wide Workflows
        • Sales Contracts and Workflows
        • Signing a Contract and Contract Repository
    • Finance
      • Budget
      • How to use Airbase
        • Access Airbase
        • Navigate Airbase
        • How to submit a purchase request
        • How to submit a reimbursement request
        • How to review a reimbursement request
        • Vendor portal guide
        • Frequently asked questions
      • Onboarding
        • Vendor onboarding
        • ROW staff onboarding
      • Staff member expenses
        • How to spend company money
        • How to spend company money: Internships
        • Corporate credit card policy
        • How to access Airbase
        • Gifting policy
        • How to book airfare and travel
        • How to reimburse the company
        • How to convert currencies
        • How to get paid
      • Arrange a Bounty Program
      • Naming files and agreements
      • Risk management
        • Mattermost U.S. consulting agreements
      • Operations playbook
    • Security
      • Policies
      • Privacy
        • Data deletion requests
        • Data subject access requests
      • Product Security
        • Product Vulnerability Process
        • Working on security-sensitive pull requests
        • Secure Software Development guide
      • Security Operations
        • User guides
    • Workplace
      • PeopleOps
        • HR cadences
        • HR systems
        • HR Processes
        • Working at Mattermost
          • Onboarding
            • Things everyone must know
            • Staff onboarding
            • Engineer onboarding timeline and expectations
            • Manager onboarding
            • Frequently asked questions
          • Learning and development
          • Mattermost communication best practices
          • Paid time off
            • Out of office email example
          • Travel
            • Business travel insurance
          • Leaves of absence
            • Pregnancy leave
            • Baby bonding parental leave
            • Jury duty
          • Workplace program
          • Relocation
          • Total rewards
        • Performance reviews
          • Formal review process
          • New staff performance review
          • Informal review process
        • Transfers and promotions
        • Offboarding instructions for managers
        • People compliance
      • People policies
      • Groups
        • Staff Resource Groups
      • Approvals and iteration
      • IT
        • IT helpdesk
        • Hardware and software purchases
        • Hardware buy back policy
        • Software systems
  • Contributors
    • Contributors
      • Equity, diversity, and inclusion
      • How to contribute to Mattermost
        • Community Content program
        • Documentation contributions
        • Help Wanted tickets
        • Localization
        • Contribution events
      • Mattermost community
      • Contributor kindness
      • Community systems
      • Guidelines and playbooks
        • Social engagement guidelines
        • Contribution guidelines and code of conduct
        • Mattermost Community playbook
        • How to run a Hackathon
        • Hacktoberfest event organizer guide for Mattermost
    • MatterCon
      • Staff information privacy management
      • Mattermost events code of conduct
      • MatterCon2021
    • Join us
      • Ice-breakers
      • Help Wanted tickets
      • Localization
      • Mattermost GitHub sponsorship
      • Things candidates should know
      • Staff recruiting
      • Recruiting cadences
        • Product Manager hiring process
      • Exec recruiting
        • EA logistics
  • Help and support
    • Contact us
Powered by GitBook
On this page
  • Weekly team meeting
  • Workflow
  • QA testing
  • Peer Testing Process
  • Ticket workflow
  • Jira
  • GitHub
  • Documentation process
  • Apps documentation workflow
  • Plugin documentation workflow
  • Documentation for plugins with multiple versions
  • Working in Gitbook
  • Documentation template for contributions

Was this helpful?

Edit on Git
Export as PDF
  1. Operations
  2. Research and Development
  3. Engineering

Integrations team processes

1% DRAFT

PreviousInfrastructure LibraryNextPlugin release process

Last updated 3 years ago

Was this helpful?

Weekly team meeting

  • Schedule meeting items by running /agenda queue Tuesday [item] in .

Workflow

  1. Metrics updates: 2 min presentation on interesting metrics on .

  2. : Was did we ship in the last sprint? What do we want to ship in the next 4 weeks? What are blockers for that?

  3. Thursday R&D Demo: Decide what to demo.

  4. Guilds Updates: Short update from every guild meeting. If there isn't anything relevant, skip to the guild.

  5. Triage Jira Toolkit, Jira Integrations, and GitHub.

  6. Go through queued meeting items.

  7. (Optional) Quick stand up using and Jira.

  8. Remove all Done items from both GitHub boards.

QA testing

  • QA testing is require for all changes for not Beta plugin in the Marketplace.

  • QA testing may be shipped for Beta plugins.

  • QA testing is not required to changes that don't touch the production code of a plugin e.g. tooling changes.

Peer Testing Process

  1. Dylan will @-mention reviewers and request peer testing posting a link to the process.

  2. Once testing is done, developers will at mention Dylan in a comment and attach their session notes.

  3. Dylan will review session notes.

  4. As appropriate, Dylan will make updates to release testing based on functional changes or previously untested cases.

  5. Dylan will approve the PR for merge.

  6. Any functional changes will be included in the next end to end test on the version bump PR as usual.

Things to be mindful of (WIP):

  • For visual changes, ensure that themes are properly applied.

  • When front end changes are made you should often test in desktop as well as browser as the JS is different.

  • Icons generated with system font can be different on from Mac to Windows.

Testing notes example

Scope
-----

<!-- Your understanding of what functional impact the PR will have on the product -->

- Display username that created zoom meeting #62.
- Test that username of meeting creator is always shown.

Testing notes
-------------

<!-- Testing you've done that you feel validate the change and cover any needed regression -->

- User name is displayed in with Zoom meeting post as expected.
- Tested switching mapped users to ensure display remains accurate.
- Tested updating username to ensure display.
- Trigger 30 second meeting collision post to ensure the functionality is also affected by the enhancement.

Follow-up concerns
-------------------

Seeing an intermittent connection issue with Zoom on http://dkh-local.ngrok.io. Seems to occur on desktop.

Ticket workflow

Jira

  • Jira tickets must be filed for:

    • Planned changes in the core product (Server, Webapp, Mobile, Redux).

    • Bugs in the core product (Server, Webapp, Mobile, Redux).

  • Jira ticket may be filled for larger multi-plugin projects.

GitHub

  • For all confirmed bugs a GitHub issue on the corresponding repository must be filed.

  • For all enhancements a GitHub issue on the corresponding repository should be filed.

  • Add a Type/X label to make clear what type the ticket is.

  • You may add a Difficulty/X label to set a mana estimate.

    • Easy means 2 mana

    • Medium means 4 mana

    • Hard means 8 mana

    • Putting an issue is always preferred over putting a PR on the board.

Documentation process

1% draft

This guide outlines the processes and workflows for requesting, updating, managing, and maintaining documentation for Mattermost-managed and community-managed apps, plugins, and integrations. This includes the branching strategy for the Gitbook repos, how to set up a new Gitbook, and the process for aligning documentation with releases.

Mattermost integrations documentation currently spans:

  • Gitbook: Configuration and User documentation for plugins, as well as developer content.

  • developers.mattermost.com: Apps documentation, plugin documentation, introduction to the contribution process, contribution workflow, testing, and validation information.

Mattermost-managed integrations are maintained by Mattermost staff and the documentation is written and maintained by the Integrations team. Community-managed integrations are maintained by their creator, which includes documentation maintenance.

Apps documentation workflow

For both options, please ensure that doc updates are either provided by you or requested ahead of merge so there's time to review the content. At least four days' notice is ideal. The goal is to ensure that docs and releases are always in sync.

Plugin documentation workflow

The plugin documentation will soon be moved to developers.mattermost.com and will follow the same process as above. Until then, if you have a documentation update for your plugin, please work with @justinegeffen to ensure changes made in time and aligned with release.

This is the same process used for the webapp and server repos in terms of documentation work.

Documentation for plugins with multiple versions

If a plugin has documentation for multiple versions the master branch is the source of truth of the docs for the current release version of a plugin. Previous releases are archived as a (version)-docs branch when docs need to change.

Every time we release a new minor or major version plugin we cut a new branch with docs and keep the branch forever so customers can still refer back to it.

Plugins that don't have documentation for multiple versions can have their content updated in master and don't follow this process.

Working in Gitbook

We use Gitbook to render our documentation. A migration process from Gitbook to the Developers website is scheduled to start soon, at which point all plugin documentation will live in that repo.

Details of the PR process for updating docs once this migration is complete will follow.

Documentation template for contributions

TODO

Using session-based testing example format provided developers will perform functional testing on the PR and take lightweight session notes. See example attached here: .

Staff members add the issues there are working on for the current sprint to .

: Outline of how integrations work with Mattermost and a list of integrations available.

The Apps Framework and Marketplace documentation lives . When submitting documentation updates and new documentation for apps, there are two options available:

Submit the content with your PR in the repo. Add the Docs/Needed label to the PR and ping @justinegeffen. The content will then be added to the docs, and the Docs/Done label added to your PR.

Alternatively, you're welcome (and encouraged) to submit the docs PR yourself, , then add a Docs/Needed label and tag @justinegeffen.

~extensibility-meeting
https://mattermost.looker.com
Plugin Release Updates
the GitHub board
https://mattermost.atlassian.net/wiki/download/attachments/619937892/SampleSessionNotes.txt
https://github.com/orgs/mattermost/projects/1
docs.mattermost.com
here
plugin-apps
here