Scrum Helper is a Chrome extension that simplifies writing development reports by auto-filling content based on your Git activity. Just enter your GitHub username, select a date range, and choose your preferences, the extension automatically fetches your commits, pull requests, issues, and code reviews via the GitHub API and generates a pre-filled report that you can edit as needed. While currently focused on Git-based workflows, Scrum Helper is designed to expand to other platforms in the future.
- Automatically fetches your Git activity, including commits, pull requests, issues, and code reviews.
- Currently supports GitHub, with plans to expand to other platforms
- Generates editable scrum updates based on your selected date range
- Integrates directly with compose windows in Google Groups, Gmail, Yahoo Mail, and Outlook
- Clone this repository to your local machine.
- Go to
chrome://extensions
on your chrome browser. - Enable Developer Mode (toggle in the top-right) if not already.
- Click Load unpacked and select the
src
folder inside the cloned repo - Click the Scrum Helper icon on your browser toolbar
- Fill in your settings in the popup (GitHub username, date range, etc.)
- Open Google Groups New Topic
- Start a New Conversation
- Refresh the page to apply the Scrum Helper settings
- Use the pre-filled scrum and edit as needed
- Open the Compose window.
- Ensure the Scrum Helper settings are applied (follow step 6 above)
- The extension will prefill scrum content for you to edit
-
Standalone Popup Interface
- Generate reports directly from the extension popup
- Live preview of the report before sending
- Rich text formatting with clickable links
- Copy report to clipboard with proper formatting
-
Advanced Repository Filtering
- Select specific repositories to include in your report for a more focused summary.
- Easily search and manage your repository list directly within the popup.
- Requires a GitHub token to fetch your repositories.
-
Include Commits on Existing PRs
- Option to include recent commits made to pull requests that were opened before the selected date range.
- Provides a more detailed and accurate view of your work on long-running PRs.
- Requires a GitHub token.
- Click on
GENERATE
button to generate the scrum preview. - Edit it in the window.
- Copy the rich HTML using the
COPY
button.
$ git clone https://github.com/fossasia/scrum_helper/
$ cd scrum_helper
$ npm install
- Install the Extension
- For Chrome: Load it into your browser through Chrome Extension Developer Mode.
-
Build the Extension
- For Chrome: Rebuild or reload the extension in your browser (
chrome://extensions
→ Refresh your extension).
- For Chrome: Rebuild or reload the extension in your browser (
-
How to Obtain a GitHub Personal Access Token
-
To use Scrum Helper with authenticated requests (for higher rate limits and private repositories), you need a GitHub personal access token.
-
Go to GitHub Developer Settings:
Visit https://github.com/settings/tokens while logged in to your GitHub account. -
Choose Token Type:
- Select "Personal access tokens (classic)".
- Generate a New Token:
- Click "Generate new token".
- Give your token a descriptive name (e.g., "Scrum Helper Extension").
- Set an expiration date if desired.
- Create and Copy the Token:
- Click "Generate token" at the bottom.
- Copy the token and save it securely. You will not be able to see it again!
- Paste the Token in Scrum Helper:
- Open the Scrum Helper extension popup.
- Paste your token into the "GitHub Token" field.
Keep your token secret! Never share it or commit it to public repositories.
Why use a token?
GitHub tokens allow the extension to make authenticated requests, increasing your API rate limit and enabling access to private repositories if you grant those permissions. -
You can add a new language to Scrum Helper for your own use, or contribute it to the project.
-
Create a Locale Folder
- Go to
src/_locales
. - Create a new folder named with the ISO language code (e.g.,
it
for Italian,fr
for French).
- Go to
-
Add a
messages.json
File- Copy the
messages.json
fromsrc/_locales/en/messages.json
or any other language as a template. - Translate only the
"message"
values into your language.
Do not translate the extension name ("Scrum Helper") or the footer ("Made with ❤️ by ...").
- Copy the
-
Test the Extension
- Reload the extension in your browser.
- Change your browser or system language to your new locale (see your browser’s language settings).
- The extension will use your translation automatically if your language is set.
You do not need to make a pull request to use your language locally.
If you want to share your translation with others:
- Make a pull request with your new locale folder and
messages.json
file. - We recommend double-checking your translations for accuracy and clarity.
For more details, see the Chrome i18n documentation.
This project uses a fully automated release process powered by GitHub Actions. Understanding this process is helpful for both maintainers and contributors.
The process is split into two parts:
This part runs every time a pull request is merged into the master
branch.
- PR Merge: A contributor's pull request is reviewed and merged.
- Drafting Workflow: The "Release Drafter" workflow is triggered.
- Versioning: The workflow inspects the
release:*
label or PR title to determine the next semantic version. - Changelog Update: The
CHANGELOG.md
file is automatically updated with the titles of the merged PRs. - Draft Creation: A new draft release is created or updated in the Releases section. This draft includes the new version tag and the updated changelog notes.
This part is performed manually by maintainers when it's time to publish a new version.
- Verification: A maintainer reviews the draft release to ensure it's accurate and complete.
- Publishing: The maintainer publishes the release from the GitHub UI.
- Chrome Web Store Deployment: Publishing the release triggers the "Publish to Chrome Web Store" workflow, which automatically packages the extension and uploads it for review.
- Follow the Issues and PRs templates as far as possible.
- If you want to make a PR, please mention in the corresponding issue that you are working on it.
The release notes are automatically generated from the pull requests merged into master
. To ensure the release notes are clear and helpful, please:
- Write a descriptive title. The PR title is the primary entry in the release notes. It should concisely summarize the change.
- Provide a clear description. The body of your PR should explain the "what" and "why" of your changes. This context is invaluable for reviewers and for anyone looking back at the project's history.
This project uses an automated release process that relies on pull request labels and titles to determine the semantic version for a new release. For your contribution to be included in the release notes, please use one of the methods below.
Method 1: Using Labels (Preferred)
The clearest way to signal the impact of your change is to apply one of the following labels to your pull request. This is the recommended approach.
release:major
: For breaking changes that are not backward-compatible.release:minor
: For new features or significant enhancements.release:patch
: For backward-compatible bug fixes, documentation updates, or maintenance.release:none
: To exclude the change from the release notes entirely.
Method 2: Using PR Titles
As a fallback, if no release:*
label is applied, the system will inspect your pull request title for the following keywords (case-insensitive) to determine the version bump:
major
: For breaking changes.minor
: For new features.patch
,fix
,chore
,documentation
: For bug fixes and other small changes.
If you are unsure which label to use, please write a clear and descriptive title, and a maintainer will apply the correct label before merging.
- Before making a PR, ensure your code is properly formatted and linted:
- Format your code: This command automatically formats your code based on the project's style guidelines.
npm run format
- Check for issues: This command runs the formatter, linter, and import sorting on the requested files to enforce coding standards.
npm run check
- Fix linting errors: If the linter detects fixable issues, this command will automatically apply the necessary corrections.
npm run fix
- Format your code: This command automatically formats your code based on the project's style guidelines.
- If you encounter any bugs, please report them at the Issues page.