# Merge Request Process

# Preparation

  1. Initiate Review: Remove the Draft: prefix from the MR (if applicable).
  2. Ticket Creation:
    • Create a ticket on the Merge Request Board in the Waiting for Review column.
    • Ensure the Title of the ticket matches the merge request's title.
    • Select the correct Project Name corresponding to the repository - note: this is not related to Clarizen projects.
    • The Developer field should indicate the MR author.
    • Required Approvers should list developers whose approval is specifically sought by the author, aiming to request feedback from specific people, not limit feedback from others.
      • Scenarios in which you might provide required approvers include an MR for a project that has a specific maintainer or maintainers such as Vinyl or Gatekeeper
    • The MR Link should directly point to the MR in your DVCS.
    • The Team field must reflect the author's team or the team tasked with the review.
  3. MR Description: Add Closes MR-111, linking the ticket number on the Merge Requests board.
  4. Notification: Inform your team the MR is ready for review, providing the ticket link to the Merge Requests board.

# Review Process

  • Ticket Management: Upon beginning the review, move the ticket to the In Review column, which auto-assigns the ticket to the reviewer.
    • This step is important and helps us to avoid duplication of review efforts
  • Code Feedback: Maintain code-related discussion within the DVCS on the MR itself.
    • "Please update this code to 'X' due to it not meeting standard protocol."
    • "Please update package versions to eliminate vulnerability."
  • Process Feedback: Place comments about the process or state of the review in the Merge Request ticket.
    • "I have started this review but will not be able to complete. Moving back to Waiting for Review."

# Post-Review

  • Approval granted: Only move the ticket to the Approved column after the MR has been approved in DVCS.
  • Approval not granted: If the MR has comments on it requesting changes, return the ticket to In Development. It will then be auto-reassigned back to the developer, which restarts the process.
  • Additional review needed: For uncertainty in approval, set the ticket back to Waiting for Review. It will then be automatically un-assigned.

# Completion

  • Finalization: After the MR is approved and merged, if the ticket isn't automatically moved to the Archive column, do so manually.
    • This is typically caused by an MR lacking the Closes MR-111 in the description or a broken or missing integration between the DVCS and Jira.