Draft pull request plugin
The Bitbucket draft pull request plugin allows you to label a pull request as a draft. While a pull request is marked as a draft, the merge button is not available.
This is useful to signal that it is still a work in progress (WIP) - even if all other checks are passing, it is not ready to be merged yet.
This plugin supports the draft pull request workflow by:
- Using a label to identify draft pull requests
- Creating an extended check to prevent merging of draft pull requests
- Optionally add the draft label to new pull requests automatically
The simplest configuration is:
ts
import {configure } from "flowie.app"import {draftPullRequest ,merge } from "flowie.app/plugins"configure ({plugins : [// Use merge plugin to enforce merge checksmerge (),draftPullRequest (),],})
Using the options:
ts
draftPullRequest ({draftOnCreate : false,label : {name : "WIP"},title : "**No** draft",})
Options:
draftOnCreate
- if true, it adds the label automatically to the pull request, marking it as a draft. Default: true
label
- the label to use to mark the pull request as draft. If you specify a
label, it must be defined in the label schema as well.
Default: {name: "Draft"}
and is created automatically if not present in the schema.
title
- the title of the check. It supports markdown for formatting. Default: **No** work in progress
Draft as part of workflow
If you are using LabelSets to model workflow you can use them together by setting draft pull request as one of the possible values:
ts
import {configure } from "flowie.app"import {draftPullRequest } from "flowie.app/plugins"configure ({labels : {schema : [{name : "Status",values : [["Draft", {color : "Yellow300"}],"Ready to review",["Ready to merge", {color : "greenLight"}],],},],},plugins : [draftPullRequest ({label : {name : "Status",value : "Draft"},}),],})
Results in: