You can find below the syntax used to enrich your pull requests with Pull Request Checklist Buddy by adding items to your PRCHECKLIST file.

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.

Filter

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
  • --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
  • --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/

Note: entries with the same filter settings will be grouped together into a checklist, regardless of their position in the PRCHECKLIST file

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.

Examples

  • The following creates a checklist called Checklist Buddy release checklist. It applies for pull requests targeting the master branch 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://mibexsoftware.atlassian.net/wiki/spaces/CB) and Public release notes (https://mibexsoftware.atlassian.net/wiki/spaces/CB/pages/3000401921 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 master and for which the source branch name starts with feature/.
--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 bugfix/.
--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 bugflix/.
--target release/* --source-except bugfix/* +task+ Double check with the Release Manager if this change is required for the release.