Skip to content

Plugin Intake Checklist  #67

@jfrerich

Description

@jfrerich

Mark as done after each step completed

As the individual doing plugin intake, you will need the following privileges.

  • Github repository admin access. You will see the Settings option tab if access has been granted. (next to Pull requests, Actions, Releases)
  • Mattermost Channel admin access. This will allow editing the channel header

The following options require Mattermost admin privileges. If you don't have these (likely) ask management

  • Mattermost sysadmin access.
    • Needed for creating new public channels
    • Needed for /jira subscribe if applicable

How To Transfer Repo to the Mattermost Org

  • Transfer the repo to a member with Mattermost GitHub Organization admin access
  • They will need to then transfer from their personal account to the Mattermost Organization
  • Ask them to add you as repo admin to finish the intake process

Repository Setup - Settings

  • Options (Make sure the following are the only selected items)

    • Features:
    • Wikis
    • Restrict editing to users in teams with push access only
    • Issues
      • Projects
    • Data services
    • Security alerts
    • Merge Button:
    • Allow squash merging
    • Automatically delete head branches
  • Setup GitHub 1st Project

  • Collaborators (Manage Access)

    • Add the following
      • mattermost/core-build-engineers
      • mattermost/core-committers
      • mattermost/core-developers
      • mattermost/core-pms
      • mattermost/integrations
      • mattermost/qa-core-team
      • mattermost/tech-writers
  • Branches

Branch protection Rules: master should already be available. Click edit next to master and verify the following defaults

  • Branch name pattern: master

    • Applies to 1 branch: master
  • Protecting matching branches

  • Require pull request reviews before merging: required approving reviews :2

    • Dismiss stale pull request approvals when new commits are pushed
  • Require review from Code Owners

  • Require status checks to pass before merging

  • Webhooks

Install GitHub Apps

  • CircleCi Checks
  • Dependabot Preview

README.md

  • add circleci badge
  • add codecov badge
  • add go report badge

If these don't exist, create Tickets for each (these are available in the Demo page)

  • Add HW to Readme
  • Slash commands documented
  • Images added
  • Installation / Configuration section added

Repository checks

Each of the following might require new commits and PRs against master.

  • go mod tidy
  • version
  • All tests passing
  • npm audit fix
  • npm-check -E -u to view the changes interactively
  • npm-check -E -y to update without interactive
    • check in package-lock.json and package.json
  • grep for original repo references in all files

Mattermost Channels Setup

  • Plugin: <plugin_name> - setup new plugin channel
    • Add plugin author and some other integration team members
    • Github subscribe
      • /github subscribe mattermost/mattermost-plugin-solar-lottery pulls,issues,creates
    • Header: [HW] | [repo] | [circle-ci] | PM: | Dev:

Actual text for header - replace all instances of <plugin_repo>, <pm-name>, <dev-name>

[GitHub](https://github.com/mattermost/<plugin_repo>) | [Help Wanted](https://github.com/mattermost/<plugin_repo>/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3A%22up+for+grabs%22+label%3A%22help+wanted%22+sort%3Aupdated-desc) | [![CircleCI](https://circleci.com/gh/mattermost/<plugin-repo-namme>.svg?style=shield)](https://circleci.com/gh/mattermost/<plugin-repo) | PM: @<pm-name> | Dev: @<dev-name>
  • GitHub subscribe in ~Plugin Heartbeat channel
    • /github subscribe mattermost/mattermost-plugin-solar-lottery pulls

The Rest

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions