Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a standardized template for requesting backports to release branches, providing a structured format that aligns with the existing servicing PR workflow and .NET Tactics approval process.
Changes:
- Adds
.github/BACKPORT_TEMPLATE.mdwith sections for Customer Impact, Regression, Testing, and Risk assessment to standardize backport requests
.github/BACKPORT_EMAIL_TEMPLATE.md
Outdated
|
|
||
| --- | ||
|
|
||
| **Subject:** [release/X.0] Backport request: <Brief description> (#<PR number>) |
There was a problem hiding this comment.
Inconsistent placeholder format: Line 7 uses <PR number> (lowercase with space) while line 13 uses <PR_NUMBER> (uppercase with underscore). Consider standardizing to use the same format throughout, preferably uppercase with underscores for consistency with <PR_NUMBER> and <ISSUE_NUMBER>.
| **Subject:** [release/X.0] Backport request: <Brief description> (#<PR number>) | |
| **Subject:** [release/X.0] Backport request: <BRIEF_DESCRIPTION> (#<PR_NUMBER>) |
|
|
||
| --- | ||
|
|
||
| Hello Tactics, |
There was a problem hiding this comment.
This does not belong into the PR description
There was a problem hiding this comment.
Do you sleep ;-)?
I changed it to compliment the existing template. Will help with email generation.
There was a problem hiding this comment.
I understand you want this in the email, but I do not think we want this in the commit history.
There was a problem hiding this comment.
ok, I'm sure there will be another way to have templates outside the repo to achieve the same result.
There was a problem hiding this comment.
I have missed that this is meant to be an email template only. The filename made it look like one of the those templates that are picked up by github workflows automatically.
It is fine to have the automation for this checked in. Should it be under skills directory?
There was a problem hiding this comment.
I don't think it needs a skill. I think it's similar to the other templates and it can just find it accordingly. Allows you to say something like "I want to create an email to tactics for PR ".
I'll open this back up shortly.
Adds a template for emailing Tactics to request approval for backports to release branches, with standard sections for Customer Impact, Regression, Testing, and Risk.
c3a25ac to
1a4401e
Compare
.github/BACKPORT_EMAIL_TEMPLATE.md
Outdated
|
|
||
| --- | ||
|
|
||
| **Subject:** [release/X.0] Backport request: <Brief description> (#<PR number>) |
There was a problem hiding this comment.
Inconsistent placeholder formatting in the subject line. The template uses both lowercase <Brief description> and <PR number> here, while using uppercase <PR_NUMBER> and <ISSUE_NUMBER> elsewhere in the template (lines 15, 24). Consider using consistent formatting throughout - either all uppercase (e.g., <BRIEF_DESCRIPTION> and <PR_NUMBER>) or all lowercase with underscores for multi-word placeholders.
| **Subject:** [release/X.0] Backport request: <Brief description> (#<PR number>) | |
| **Subject:** [release/X.0] Backport request: <BRIEF_DESCRIPTION> (#<PR_NUMBER>) |
.github/BACKPORT_EMAIL_TEMPLATE.md
Outdated
|
|
||
| Use this template when emailing Tactics to request approval for a backport to a release branch. | ||
|
|
||
| > **Note:** Most email clients (Outlook, Gmail, etc.) don't render Markdown. Copy the template below and the section headers will display as bold text. If your email client supports rich text, you can manually increase the header font size. |
There was a problem hiding this comment.
The note states "the section headers will display as bold text" but this is misleading. When copying markdown text with **TEXT** into a plain text email, the asterisks will be visible as literal characters (e.g., **CUSTOMER IMPACT**), not rendered as bold. Consider clarifying this note to say something like "the section headers use **bold** markdown syntax which, while not rendered in plain text emails, provides visual emphasis through the asterisks" or remove the claim about bold text display.
| > **Note:** Most email clients (Outlook, Gmail, etc.) don't render Markdown. Copy the template below and the section headers will display as bold text. If your email client supports rich text, you can manually increase the header font size. | |
| > **Note:** Most email clients (Outlook, Gmail, etc.) don't render Markdown. Copy the template below: the section headers use `**bold**` Markdown syntax which, in plain-text emails, appears with asterisks for visual emphasis. If your email client supports rich text, you can manually format the headers (for example, by increasing the font size or applying bold). |
| - [ ] Customer reported | ||
| - [ ] Found internally |
There was a problem hiding this comment.
The checkbox syntax - [ ] is GitHub Flavored Markdown that won't render as checkboxes in email clients. When copied to email, these will appear as plain text like - [ ] Customer reported. Consider whether this is the intended format for an email template, or if a simpler format like ☐ Customer reported or just removing the brackets entirely would be more appropriate for email use.
| @@ -0,0 +1,41 @@ | |||
| # Backport Email Template | |||
|
|
|||
| Use this template when emailing Tactics to request approval for a backport to a release branch. | |||
There was a problem hiding this comment.
This may want to explicitly say to include a verbatim text from the PR description in the email. I do not think we want the PR description and the description in the email to be different.
There was a problem hiding this comment.
The intended flow I had in mind is definitely that way. The backport PR is the basis for any email we send out.
I'll see if we can enforce (or nudge) that flow through the template.
Per feedback, the email content should come directly from the backport PR description to ensure consistency. Updated template to: - Explicitly instruct users to copy sections from their PR - Add DESCRIPTION and main PR sections to match servicing template - Standardize placeholder format to UPPERCASE_WITH_UNDERSCORES
|
@jkotas it should now work like this:
If it ends up inconsistent, we can add a skill to better direct it. I doubt that will be necessary since our usage is straightforward. |
This did not work for me. It generated an email that was ~95% right. I had to point it to the template explicitly like Generate a backport email from #124058 using template at .github\BACKPORT_EMAIL_TEMPLATE.md and open it outlook` made it to open it in outlook as ASCII text (without nice formatting). The Powershell script that it executed to open the email in outlook caused my outlook to hang and I had to restart. |
| @@ -0,0 +1,52 @@ | |||
| # Backport Email Template | |||
There was a problem hiding this comment.
How much does the file name matter for copilot? Can the file be in a subdirectory and have a name that does not look like a special name recognized by github? (For example, the existing PULL_REQUEST_TEMPLATE is a special directory name that github knowns about.)
|
|
||
| main PR: <MAIN_PR_LINK> | ||
|
|
||
| <!-- Copy the following sections verbatim from your backport PR description --> |
There was a problem hiding this comment.
Can this just say "Copy the PR description verbatim" and drop the rest that is duplicating the PR template content?
| **RISK** | ||
|
|
||
| <Copy from PR: Risk section> |
There was a problem hiding this comment.
PR description says the email template includes a Risk High/Medium/Low selection with justification, but the template only has a free-form <Copy from PR: Risk section> placeholder and no standard options. Consider adding the Risk level options (e.g., checkboxes or an explicit Risk: High|Medium|Low line) so the template matches the intended standardized format.
| Output the email as **plain text** (not markdown) since email clients don't render markdown. | ||
|
|
||
| ``` | ||
| Subject: [release/X.0] Backport request: <TITLE> (#<PR_NUMBER>) |
There was a problem hiding this comment.
The sample subject line here uses Subject: ... <TITLE> while .github/BACKPORT_EMAIL_TEMPLATE.md uses **Subject:** ... <BRIEF_DESCRIPTION>. Align the placeholder naming/format between the skill output example and the template to reduce ambiguity about what should be inserted (full PR title vs brief description).
| Subject: [release/X.0] Backport request: <TITLE> (#<PR_NUMBER>) | |
| Subject: [release/X.0] Backport request: <BRIEF_DESCRIPTION> (#<PR_NUMBER>) |
| 2. **Extract from the PR description:** | ||
| - Link to the original main PR | ||
| - Link to the issue being fixed | ||
| - DESCRIPTION section | ||
| - CUSTOMER IMPACT section (including checkboxes) | ||
| - REGRESSION section (including checkboxes) | ||
| - TESTING section | ||
| - RISK section |
There was a problem hiding this comment.
This skill says the PR description contains checkbox blocks for Customer Impact/Regression and instructs to preserve - [ ] / - [x], but the existing servicing PR template (.github/PULL_REQUEST_TEMPLATE/servicing_pull_request_template.md) only has section headings and HTML comments (no checkboxes). Either adjust this skill/template to not assume checkboxes exist, or update the servicing PR template in the same PR so the flow is consistent.
This adds a template for emailing Tactics to request approval for backports to release branches.
The template includes standard sections:
This complements the existing PULL_REQUEST_TEMPLATE/servicing_pull_request_template.md which is used for the PR itself, while this template is for the email approval request step.