Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Merge Request Coach

The main goal of a Merge Request Coach is to help merge requests from the community get merged into GitLab.

Responsibilities

  • Triage merge requests labeled ~"Community contribution".
  • Close merge requests that we don't want, with a clear explanation on the reasons why, so that people don't feel discouraged.
  • Help contributors to get their merge requests to meet the contribution acceptance criteria.
  • Read the weekly Merge requests requiring attention email to follow-up on inactive MRs. Each coach should pick a few MRs to follow-up each week.
  • Help find and assign merge requests to available reviewers.
  • If the contributor is unresponsive or if they are unable to finish it, finish their merge requests. Also, see the closing policy for issues and merge requests.
    1. Close the original merge request and say that you will finish it.
    2. Check out the branch locally.
    3. Make sure a changelog entry crediting the author exists.
    4. Add your own commits to improve and finish the original work.
    5. Push to a new branch and open a new merge request.
  • Make it easy to contribute to GitLab even for people who are new to Ruby, JavaScript, Golang, etc. or programming entirely. For example, you can add any hints or possible fixes on issues that are open for community contribution.

Specialties

We are working on adding the following Merge Request Coach Specialties

  • Development - for changes related to feature and bug fixes.
  • Technical Writing - for changes related to our documentation.
  • Quality - for changes related to our tests and tooling (MR workflow, and pipeline configuration).

Collaboration guidelines

As a Merge Request Coach you will collaborate with people from the wider GitLab community and respond or close their merge requests per need.

Responding to merge requests

With each merge request opened by a wider community member, it's important to note GitLab is not their main focus. They have contributed to GitLab out of kindness, and we should aim to give them the space they need to fulfill their merge request.

After a merge request from a wider community member has been submitted and you have provided feedback, allow a period of up to two weeks for the community member to continue their work before following up with the community member through a comment in the merge request.

Dealing with trivial merge requests

Some MRs may not need triaging and as an MR coach you should feel empowered to approve an MR immediately before passing it to the appropriate maintainer(s) for merging if appropriate. Examples of these types of MRs include:

  • MRs where the content is tightly related to your own domain expertise.
  • MRs that include only whitespace or stylistic changes.
  • MRs that resolve ignored Rubocop violations.

Closing merge requests

Sometimes community contributions become stale or obsolete and changes become no longer relevant or applicable. If the changes are no longer needed, it's fine to close the merge request whether the author is responsive or not. If there’s an open discussion or questions for the author, allow some time for them to get back to the discussion before closing the merge request.

In all cases, always provide some context on why the merge request is being closed as this can lead to fewer questions later on and create a point for future reference which would be useful for team members and community contributors.

Last but not least, if there's an opportunity to provide any help or pointers for future contributions try to do that. This could be pointing to code review guidelines, documentation on how to contribute, or getting help while contributing to GitLab.

Closing empty merge requests

Sometimes MRs are opened by wider community contributors by accident with no changes. In this instance close the merge request straight away, without triage labels, with a polite message to the contributor asking them to reopen the merge request once there is something to review. It may be that they intended to open a merge request at some point and we want to ensure that they feel their contribution will be welcomed at an appropriate time.

An example response could be:

Hi {CONTRIBUTOR_NAME} 👋 \
Thanks for contributing to GitLab 🙇 ✨ \
It seems that this MR does not contain any changes 🤔 \
Because of that I will close this MR but please feel free to reopen if you are still planning to contribute ❤ \
If you have any other questions please don't hesitate and ping me 🙂

More information on the Merge Request Coach role is available in the handbook.

About GitLab

GitLab Inc. is a company based on the GitLab open-source project. GitLab is a community project to which over 2,200 people worldwide have contributed. We are an active participant in this community, trying to serve its needs and lead by example. We have one vision: everyone can contribute to all digital content, and our mission is to change all creative work from read-only to read-write so that everyone can contribute.

We value results, transparency, sharing, freedom, efficiency, self-learning, frugality, collaboration, directness, kindness, diversity, inclusion and belonging, boring solutions, and quirkiness. If these values match your personality, work ethic, and personal goals, we encourage you to visit our primer to learn more. Open source is our culture, our way of life, our story, and what makes us truly unique.

Top 10 Reasons to Work for GitLab:

  1. Mission: Everyone can contribute
  2. Results: Fast growth, ambitious vision
  3. Flexible Work Hours: Plan your day so you are there for other people & have time for personal interests
  4. Transparency: Over 2,000 webpages in GitLab handbook, GitLab Unfiltered YouTube channel
  5. Iteration: Empower people to be effective & have an impact, Merge Request rate, We dogfood our own product, Directly responsible individuals
  6. Diversity, Inclusion & Belonging: A focus on gender parity, Team Member Resource Groups, other initiatives
  7. Collaboration: Kindness, saying thanks, intentionally organize informal communication, no ego
  8. Total Rewards: Competitive market rates for compensation, Equity compensation, global benefits (inclusive of office equipment)
  9. Work/Life Harmony: Flexible workday, Friends and Family days
  10. Remote Done Right: One of the world's largest all-remote companies, prolific inventor of remote best practices

See our culture page for more!

Work remotely from anywhere in the world. Curious to see what that looks like? Check out our remote manifesto and guides.

Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license