Creating a pull request

You have tested your course locally and fixed any issues. To get your course reviewed and merged, you need to create a pull request on GitHub.

In this lesson, you will learn how to create effective pull requests for GraphAcademy course content.

Before creating a PR

Ensure you have:

  1. Run all tests locally and fixed any failures

  2. Built the course successfully

  3. Committed your changes with clear commit messages

  4. Pushed your branch to the GitHub repository

Creating the pull request

Navigate to the GraphAcademy courses repository and create a new pull request.

PR title

Use a clear, descriptive title that explains what the PR does:

  • ✅ "Add How We Teach internal training course"

  • ✅ "Update Neo4j Fundamentals lesson 3 based on feedback"

  • ✅ "Fix broken links in Cypher Fundamentals module 2"

  • ❌ "Updates"

  • ❌ "Fix stuff"

PR description

Include:

  • What changed - Summary of new content or modifications

  • Why - Reason for the change (new course, feedback, bug fix)

  • Testing - Note that tests pass locally

  • Related issues - Link to any GitHub issues or Jira tickets

  • Screenshots - If relevant, include screenshots of new content

Example:

markdown
## What changed
Added a new internal training course "How We Teach" that documents our pedagogical approach and course development process.

## Why
We need internal documentation for new team members and contributors on how to create GraphAcademy courses.

## Testing

- [x] QA tests pass locally
- [x] HTML builds successfully
- [x] Reviewed all lessons for structure and clarity

## Related
Addresses internal documentation request from the team.

Pull request templates

GraphAcademy provides three PR templates to guide your submission. The pre-push Git hook suggests which template to use based on your changes.

Course Draft Template

View template

Use when: Creating a new course with :status: draft

Includes:

  • Content creation checklist (modules, lessons, questions)

  • Assets and media requirements (illustration, banner)

  • Testing and quality assurance steps

  • Notes section for special requirements

  • Reviewer assignment guidance

Course Release Template

View template

Use when: Setting :status: active to release a course to production

Includes:

  • Content finalization checklist (incorporate feedback, final QA)

  • Testing and verification in production environment

  • Blog and documentation requirements (promotional post, social media)

  • Success metrics and tracking setup

  • Follow-up review schedule

Course Fix Template

View template

Use when: Fixing bugs or issues in existing active courses

Includes:

  • Description of the bug fix and changes

  • Link to related issue (if applicable)

  • Local testing confirmation

  • Reviewer assignment guidance

Using templates

To use a template, add ?template= to your PR URL:

https://github.com/neo4j-graphacademy/courses/compare/main...your-branch?template=course_draft.md

The pre-push Git hook provides the complete URL with the appropriate template when you push your changes.

Review process

After creating your PR:

  1. Automated tests run - GitHub Actions validates your changes

  2. Team review - Colleagues review content for quality and accuracy

  3. Feedback - Reviewers may request changes or improvements

  4. Approval - Once approved, your PR is ready to merge

Responding to feedback

When reviewers request changes:

  • Address feedback promptly - Review and respond to comments

  • Ask questions - Clarify anything that’s unclear

  • Make changes - Update your branch with the modifications

  • Test again - Ensure changes don’t break anything

  • Push updates - The PR will automatically update with your new commits

Best practices

  • Keep PRs focused - one feature or fix per PR

  • Write clear commit messages

  • Test thoroughly before requesting review

  • Include context in your PR description

  • Update documentation and the how-we-teach course if needed

Summary

In this lesson, you learned how to create effective pull requests for GraphAcademy course content.

A good PR includes a clear title, detailed description, passing tests, and responsiveness to feedback.

In the next lesson, you will learn about the automated deployment process that runs when your PR is merged.

Chatbot

How can I help you today?