diff --git a/docs/automations/standard/enforce-pr-description-requirements/README.md b/docs/automations/standard/enforce-pr-description-requirements/README.md new file mode 100644 index 000000000..6ea3fb4f6 --- /dev/null +++ b/docs/automations/standard/enforce-pr-description-requirements/README.md @@ -0,0 +1,32 @@ +--- +title: gitStream Automation - Enforce PR Description Requirements. +description: Automaticallly request changes for PRs that have empty descriptions. +--- +# Enforce PR Description Requirements + +Automaticallly request changes for PRs that have empty descriptions. + +![Enforce PR Description Requirements](/automations/standard/enforce-pr-description-requirements/enforce-pr-description-requirements.png) + +!!! info "Configuration Description" + +**Conditions (all must be true):** + +* The PR description is empty. + +**Automation Actions:** + +* Request changes and post a comment explaining that PR descriptions are required. + +
+!!! example "Enforce PR Description Requirements" + ```yaml+jinja + --8<-- "docs/downloads/automation-library/standard/enforce-pr-description-requirements/enforce_pr_description_requirements.cm" + ``` +
+ + [:octicons-download-24: Download this example as a CM file.](/downloads/automation-library/standard/enforce-pr-description-requirements/enforce_pr_description_requirements.cm){ .md-button } + +
+ + diff --git a/docs/automations/standard/enforce-pr-description-requirements/enforce-pr-description-requirements.png b/docs/automations/standard/enforce-pr-description-requirements/enforce-pr-description-requirements.png new file mode 100644 index 000000000..a812df95e Binary files /dev/null and b/docs/automations/standard/enforce-pr-description-requirements/enforce-pr-description-requirements.png differ diff --git a/docs/automations/standard/pr-description-checklist/README.md b/docs/automations/standard/pr-description-checklist/README.md new file mode 100644 index 000000000..318f2fb6c --- /dev/null +++ b/docs/automations/standard/pr-description-checklist/README.md @@ -0,0 +1,34 @@ +--- +title: gitStream Automation - Block a PR From Merging if the Description Lacks Any Required Checklist Items. +description: Block a PR from merging if the description lacks any required checklist items. +--- +# Block a PR From Merging if the Description Lacks Any Required Checklist Items + +Block a PR from merging if the description lacks any required checklist items. + +![PR Description Checklist](/automations/standard/pr-description-checklist/pr-description-checklist.png) + +!!! info "Configuration Description" + +**Conditions (all must be true):** + +* The PR description has one or more unchecked checkboxes. + +**Automation Actions:** + +* Request changes and post a comment asking the author to complete the PR checklist. +* Apply a yellow “Missing Checklist Items” label. + + +
+!!! example "Block a PR from merging if the description lacks any required checklist items" + ```yaml+jinja + --8<-- "docs/downloads/automation-library/standard/pr-description-checklist/pr_description_checklist.cm" + ``` +
+ + [:octicons-download-24: Download this example as a CM file.](/downloads/automation-library/standard/pr-description-checklist/pr_description_checklist.cm){ .md-button } + +
+ + diff --git a/docs/automations/standard/pr-description-checklist/pr-description-checklist.png b/docs/automations/standard/pr-description-checklist/pr-description-checklist.png new file mode 100644 index 000000000..08cce5400 Binary files /dev/null and b/docs/automations/standard/pr-description-checklist/pr-description-checklist.png differ diff --git a/docs/downloads/automation-library/standard/enforce-pr-description-requirements/enforce_pr_description_requirements.cm b/docs/downloads/automation-library/standard/enforce-pr-description-requirements/enforce_pr_description_requirements.cm new file mode 100644 index 000000000..a1d5940b9 --- /dev/null +++ b/docs/downloads/automation-library/standard/enforce-pr-description-requirements/enforce_pr_description_requirements.cm @@ -0,0 +1,14 @@ +manifest: + version: 1.0 + +automations: + enforce_pr_description_requirements: + if: + - {{ not has.description }} + run: + - action: request-changes@v1 + args: + comment: | + Descriptions are required for all PRs. Please update your description to describe what changes this PR introduces and anything else reviewers should be aware of. Please also provide a reference to any relevant project management tracking resources. +has: + description: {{ pr.description | includes(regex=r/[a-zA-Z]/) }} diff --git a/docs/downloads/automation-library/standard/pr-description-checklist/pr_description_checklist.cm b/docs/downloads/automation-library/standard/pr-description-checklist/pr_description_checklist.cm new file mode 100644 index 000000000..758d4f92c --- /dev/null +++ b/docs/downloads/automation-library/standard/pr-description-checklist/pr_description_checklist.cm @@ -0,0 +1,21 @@ +# -*- mode: yaml -*- + +manifest: + version: 1.0 + +automations: + pr_description_checklist: + if: + - {{ pr.description | includes(regex=r/\-\[\]/) }} + run: + - action: add-label@v1 + args: + label: "Missing Checklist Items" + color: {{ colors.yellow }} + - action: request-changes@v1 + args: + comment: | + Please complete the PR checklist before requesting a code review. + +colors: + yellow: 'fbca04'