Create Pull Requests for Canvas Android
Create pull requests for Canvas Android following project conventions and using the standard template.
PR Template Location
The PR template is located at /PULL_REQUEST_TEMPLATE in the repository root.
Creating a PR
Use the GitHub CLI to create pull requests:
# Create PR (automatically uses template) gh pr create # Or with title and body gh pr create --title "Your PR Title" --body "$(cat /path/to/description.md)"
The template will be automatically loaded when using gh pr create.
PR Title Format
CRITICAL: The PR title MUST include the affected app(s) in square brackets AFTER the ticket ID.
Format: [TICKET-ID][AppName] Description
Examples:
- •
[MBL-19497][Student] Fix bookmark URL placeholders from notifications - •
[MBL-12345][Teacher] Add assignment grading improvements - •
[MBL-67890][Student][Teacher] Fix discussion loading for both apps - •
[MBL-11111][All] Update login flow across all apps
Rules:
- •The ticket ID comes FIRST, then the app name(s)
- •Always include the app name(s) based on the
affects:field in the PR body - •If
affects: Student, use[Student] - •If
affects: Student, Teacher, use[Student][Teacher] - •If
affects: Student, Teacher, Parent, use[All] - •The app tags come AFTER the ticket ID and BEFORE the description
Template Requirements
The PR template includes the following sections that must be completed:
1. Test Plan Description
Describe how to test the changes. Include:
- •Steps to reproduce/verify the fix or feature
- •Expected behavior
- •Any prerequisites or setup needed
SECURITY WARNING: NEVER include test credentials, passwords, API keys, or sensitive URLs in the test plan. The repository is public.
2. Issue References
Use refs: followed by issue numbers:
refs: MBL-12345
or for multiple issues:
refs: MBL-12345, MBL-67890
3. Impact Scope (affects field)
IMPORTANT: Use affects: to specify which apps are impacted by the changes.
Valid values:
- •
Student - •
Teacher - •
Parent
Examples:
affects: Student
affects: Student, Teacher
affects: Student, Teacher, Parent
4. Release Note
Provide a user-facing description of changes. This should be:
- •Written for end users, not developers
- •Clear and concise
- •Focused on user impact
5. Checklist
Complete the following items before marking PR as ready:
- • Follow-up e2e test ticket created or not needed
- • Run E2E test suite
- • Tested in dark mode
- • Tested in light mode
- • Test in landscape mode and/or tablet
- • A11y checked
- • Approve from product
Important Notes
- •CRITICAL SECURITY: NEVER include credentials, passwords, usernames, API keys, tokens, or any sensitive information in PR descriptions. The canvas-android repository is PUBLIC. Anyone on the internet can read PR descriptions. If test credentials or environment details are needed, they should be shared through secure internal channels only.
- •DO NOT include this checkbox item "- [ ] Run E2E test suite" or screenshots sections unless specifically needed
- •Always include the
affects:field to specify which apps are impacted - •Reference the related issue(s) with
refs: - •Complete the checklist before marking the PR as ready for review
Examples
Example PR for Student App Only
Title: [MBL-19453][Student] Add dashboard widget customization
Test plan: 1. Navigate to Dashboard 2. Verify widgets are displayed correctly 3. Test widget reordering refs: MBL-19453 affects: Student release note: Students can now customize their dashboard with widgets
Example PR for Multiple Apps
Title: [MBL-12345][Student][Teacher] Improve discussion loading performance
Test plan: 1. Open any course 2. Verify discussion loading 3. Test comment threading refs: MBL-12345 affects: Student, Teacher release note: Improved discussion loading performance
Example PR for All Apps
Title: [MBL-67890][All] Update login flow
Test plan: 1. Launch any app 2. Log in with credentials 3. Verify successful authentication refs: MBL-67890 affects: Student, Teacher, Parent release note: Updated login experience for improved security