Skip to content

Latest commit

 

History

History
51 lines (30 loc) · 3.84 KB

CONTRIBUTING.md

File metadata and controls

51 lines (30 loc) · 3.84 KB

Code Contribution Guidelines

Thank you for your interest in contributing to Mattermost. This guide provides an overview of important information for contributors to know.

Choose a Ticket

  1. Review the list of Good First Contribution tickets listed in Jira

    • You are welcome to work on any ticket, even if it is assigned, so long as it is not yet marked "in progress"
    • (optional) Comment on the ticket that you're starting so no one else inadvertently duplicates your work
  2. These projects are intended to be a straight forward first pull requests from new contributors

  • If you don't find something appropriate for your interests, please see the full list of tickets Accepting Pull Requests
  • Also, feel free to fix bugs you find, or items in GitHub issues that the core team has approved, but not yet added to Jira
  1. If you have any questions at all about a ticket, there are several options to ask:
  2. Start a topic in the Mattermost forum
  3. Join the Mattermost core team discussion and post in the "Tickets" channel

Install Mattermost and set up a Fork

  1. Follow developer setup instructions to install Mattermost

  2. Create a branch with set to the ID of the ticket you're working on, for example PLT-394, using command:

git checkout -b <branch name>

Programming and Testing

  1. Please review the Mattermost Style Guide prior to making changes

    To keep code clean and well structured, Mattermost uses ESLint to check that pull requests adhere to style guidelines for React. Code will need to follow Mattermost's React style guidelines in order to pass the automated build tests when a pull request is submitted

  2. Please make sure to thoroughly test your change before submitting a pull request

    Please review the "Fast, Obvious, Forgiving" experience design principles for Mattermost and check that your feature meets the criteria. Also, for any changes to user interface or help text, please read the changes out loud, as a quick and easy way to catch any inconsitencies

Submitting a Pull Request

  1. Please add yourself to the Mattermost approved contributor list prior to submitting by completing the contributor license agreement.

  2. When you submit your pull request please make it against master and include the Ticket ID at the beginning of your pull request comment, followed by a colon

  1. Once submitted, your pull request will be checked via an automated build process and will be reviewed by at least two members of the Mattermost core team, who may either accept the PR or follow-up with feedback. It would then get merged into master for the next release

  2. If the build fails, check the error log to narrow down the reason. Sometimes one of the multiple build tests will randomly fail due to issues in Travis CI so if you see just one build failure and no clear error message it maybe a random issue.

  3. If you've included your mailing address in Step 1, you'll be receiving a Limited Edition Mattermost Mug as a thank you gift after your first pull request has been accepted