1version: 2 2mergeable: 3 - when: pull_request.* 4 validate: 5 - do: label 6 must_include: 7 regex: '^Type:' 8 fail: 9 - do: checks 10 status: 'failure' 11 payload: 12 title: 'Need an appropriate "Type:" label' 13 summary: 'Need an appropriate "Type:" label' 14 - when: pull_request.* 15 # This validator requires either the "no release notes" label OR a "Release" milestone 16 # to be considered successful. However, validators "pass" in mergeable only if all 17 # checks pass. So it is implemented in reverse. 18 # I.e.: !(!no_relnotes && !release_milestone) ==> no_relnotes || release_milestone 19 # If both validators pass, then it is considered a failure, and if either fails, it is 20 # considered a success. 21 validate: 22 - do: label 23 must_exclude: 24 regex: '^no release notes$' 25 - do: milestone 26 must_exclude: 27 regex: 'Release$' 28 pass: 29 - do: checks 30 status: 'failure' # fail on pass 31 payload: 32 title: 'Need Release milestone or "no release notes" label' 33 summary: 'Need Release milestone or "no release notes" label' 34 fail: 35 - do: checks 36 status: 'success' # pass on fail 37