What is the plugin Default Tasks for Pull Requests?
The "Default Tasks for Pull Requests" add-on aims to configure and automate default tasks for pull requests in Bitbucket. Tasks can be configured to be created whenever a certain event occurs and the add-on creates these tasks fully automatically. When configuring the events, various conditions can be taken into account so that even complex events can be modeled. For example, it is possible to react to the creation and opening of a pull request and take into account the context (author of the pull request, the reviewers, the target branch, the source branch and more).
“The goal is to support your development process in the best possible way and to ensure their compliance.”
The addon is very easy to use and self-explanatory. Task creation rules can be created at repository level, project level and global. Of course, rules can also be inherited to the repository.
General settings, such as the inclusion of global rules and specific rules, are set in each repository. These cannot be set centrally, but only at the repository level.The settings for the repository can be found under repository settings area : Repository Settings → Add-ons → Pull Request Tasks
Settings can be created globally and at project levels and then inherited in a repository.
These global or project settings can now be inherited in the respective repository by selecting the respective option. After saving, the inherited options are listed under the repository specific options.
Tasks are always assigned to a pull request comment. You can define this comment yourself here. Two different comments can be defined. One is a comment that is generated when the pull request is created and the other is a comment that is generated when a pull request is reopened.
The comments are always generated by a valid user. By default, the user who also generates the pull request is used here. If another user is desired, this user can be specified here.
Attention: This user must have write permissions in the respective repository.
Based on rules, tasks are generated for a pull request. Each rule represents one task. In a rule, the name of the new task and also corresponding conditions can be specified. A task is then only created if the corresponding conditions are fulfilled.
Tasks for pull requests can be created when creating and also when reopening the pull request. Here you can specify at which event the task should be created.
The Task name. This text is used to create the task.
The description has only a documentation character and is required in the process only for clarity. It has no effect on task creation
Here you can specify that the task should only be created if the source branch of the pull request matches the regular expression specified here.
Here you can specify that the task should only be created if the pull request was created across the repository boundary from a fork into this repository
Here you can specify that the task should only be created if the targt branch of the pull request matches the regular expression specified here.
It is possible to specify that a task will be executed only if the author of the pull request matches the specified name or is a member of the specified group. The author name can have several names, which can be separated by a comma.
It is possible to specify that a task will be executed only if the reviewer of the pull request matches the specified name or is a member of the specified group. The reviewer name can have several names, which can be separated by a comma.
Here you can specify how the addon should behave if a task has already been created but the conditions for a creation occur again. In this case, the task should be created again or not.
The following options you have
Currently the following new features for the next versions are in the pipeline:
Support Jira Issue informations as condition (e.g. issue type, status, and so on)
Support further Pull request information (Start review, Builds, ….)
Support for changes in files (Path of changes matchs a regular expression)