You can find below the syntax used to enrich your pull requests with Pull Request Checklist Buddy by adding items to your
Use our Online Checklist Editor to get started with your first checklists. You can also upload existing
PRCHECKLISTfiles and edit them with our easy-to-use UI.
Create a task
To create a new task, use
+task+ followed by the task description.
+task+ this is a task.
Create a comment
To create a reminder (a non-blocking comment), use
+comment+ followed by the comment text. Bitbucket markdown is supported for comments.
+comment+ this is a comment.
Create a checklist
A checklist is created automatically for each set of tasks that include the same filters and modifiers.
To filter when a task is applied, prepend the task/comment/title with one or more of the following filters:
--source- for pull requests for which the source branch matches a specific pattern
--source my-branch +task+ this is a task for all PRs that originate from the branch my-branch
--target- for pull requests for which the target/destination branch matches a specific pattern
--target master +task+ This is a task for all PRs targeting the master branch
--files- for pull requests for which changes have been made to files matching a diff file pattern
--files /src/main/app/** +task+ This is a task for all PRs with changes in files within /src/main/app/
--commit-title- for pull requests with commit titles (first line of commit message) that contain a substring
--commit-title WIP +task+ Improve/cleanup commit message for Work-in-Progress (WIP) commits
Note: entries with the same filter settings will be grouped together into a checklist, regardless of their position in the
Negation filters with
Each of the filters above can be rather used as an exception rule by appending the
-except modifier. For example,
--source-except- for pull requests for which the source branch does not match a specific pattern
--source-except my-branch +task+ this is a task for all PRs that do not originate from the branch my-branch
--files-except- for pull requests for which no files matching the diff file pattern have been changed.
--files-except version.txt +task+ did you forget to update the version?
--commit-title-except- for pull requests where no commit title contains a substring
--commit-title-except MY-PROJ- +task+ This is a task for all PRs that miss a Jira project key in **any** of the commit titles
- A combination of
--files-except- you can have a use case where all pull requests coming from a
feature/**branch have to update the release notes. You can address that use case via
--source feature/** --files-except RELEASENOTES.txt +task+ did you forget to update the release notes?
By default, each checklist is displayed once on the entire Pull Request. Checklist Buddy gives you a bit of flexibility to change that behaviour. For example,
--put-on-files- to apply your checklist on each file matching the diff file pattern, but only if these files are changed in the pull request.
--put-on-files RELEASENOTES.txt +task+ Please ask QA to review these changes
--with-modification- to be used after the
--put-on-filesoption to only apply the checklist when the impacted file underwent a specific type of change. The three possible types of change are "added", "modified" or "deleted". The table below summarizes when these change types will be applied to a file diff. You may use any combination of the three types of change.
--put-on-files CODEOWNERS --with-modification deleted --with-modification modified +task+ When deleting this file, no Code Owners will be assigned anymore and your repo will be unprotected. Changes to this file should be carefully reviewed. --put-on-files src/** --with-modification added +task+ Please double check that the location of the new file corresponds to our Package by Feature guideline
|put-on-files||with-modification||file before change||file after change||is task applied|
Give a title to your checklist
To name a checklist, create a line entry with the desired filter settings and use
+title+ followed by the desired title.
- The following creates a checklist called Checklist Buddy release checklist. It applies for pull requests targeting the
masterbranch and includes 3 tasks and 1 comment.
--target master +title+ **[CHECKLISTBUDDY](https://marketplace.atlassian.com/apps/1225571/pull-request-checklist-buddy-for-bitbucket?hosting=datacenter&tab=overview) release checklist** :checkered_flag: --target master +task+ Bump version number --target master +task+ Internal release testing: https://wiki/display/CHECKLISTBUDDY/Releases All test cases: https://wiki/display/CHECKLISTBUDDY/Manual+testing have been checked off on the release page or have been confirmed by the team for ignoring --target master +task+ Public documentation (https://docs.mibexsoftware.com/checklist-buddy/) and Public release notes (https://docs.mibexsoftware.com/checklist-buddy/release-notes) are up to date --target master +comment+ All done? merge PR with --ff-only .
- The following creates a checklist called Frontend testing checklist. It applies to pull requests that include changes to files located in the
/src/main/app/**folder of the repository and includes 4 tasks.
--files /src/main/app/** +title+ Frontend testing checklist :art: --files /src/main/app/** +task+ UI changes visually inspected on Chrome --files /src/main/app/** +task+ UI changes visually inspected on Safari --files /src/main/app/** +task+ UI changes visually inspected on Firefox --files /src/main/app/** +task+ UI changes visually inspected on IE/Edge (reply with version)
- The following creates a task called User Documentation updated? for all pull requests that target the branch
masterand for which the source branch name starts with
--target master --source feature/* +task+ User Documentation updated?
- The following creates a task called Verify that automated test reproduces this issue for all pull requests that target branches whose name starts with
--target bugfix/* +task+ Verify that automated test reproduces this issue.
- The following creates a task called Double check with the Release Manager if this change is required for the release for all pull requests that target a branch whose name starts with
release/and for which the source branch name does NOT start with
--target release/* --source-except bugfix/* +task+ Double check with the Release Manager if this change is required for the release.