Skip to content

Commit 81f383c

Browse files
durandomclaude
andcommitted
fix: address Copilot review comments
Fix JIRA_LINK placeholder collision in feature-freeze-update template (team lines were getting release-notes URL instead of feature-freeze URL). Remove stale references to deleted fetch_team_mapping.py and cross-skill fetch_schedule.py — replace with gog CLI fallbacks. Fix contradictory team_id gotchas and stale test docstring. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 6106878 commit 81f383c

8 files changed

Lines changed: 27 additions & 36 deletions

File tree

skills/rhdh-release/references/slack-templates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Here's what's outstanding for Feature Freeze. Please review and share if there a
2626
• *{{TEAM_NAME}}* - [{{ISSUE_COUNT}}]({{JIRA_LINK}}) @{{LEAD_SLACK}}
2727
(repeat for each active engineering team)
2828
29-
There are [{{OUTSTANDING_RELEASE_NOTES_ISSUE_COUNT}}]({{JIRA_LINK}}) outstanding Release Notes. Please review and update Features and bugs.
29+
There are [{{OUTSTANDING_RELEASE_NOTES_ISSUE_COUNT}}]({{RELEASE_NOTES_JIRA_LINK}}) outstanding Release Notes. Please review and update Features and bugs.
3030
3131
cc @rhdh-release
3232
```

skills/rhdh-release/scripts/release.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -825,7 +825,7 @@ def cmd_slack_feature_freeze_update(args: argparse.Namespace, fmt: OutputFormatt
825825
"RELEASE_VERSION": version,
826826
"FEATURE_FREEZE_DATE": ff_date,
827827
"OUTSTANDING_RELEASE_NOTES_ISSUE_COUNT": str(rn_count),
828-
"JIRA_LINK": rn_url,
828+
"RELEASE_NOTES_JIRA_LINK": rn_url,
829829
},
830830
)
831831
message = slack_mod.expand_team_lines(template, team_lines)

skills/rhdh-release/workflows/announce-code-freeze-update.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@ Extract the Code Freeze date from the description.
4040
## Step 3 (fallback): Get active engineering teams
4141

4242
```bash
43-
python scripts/fetch_team_mapping.py --category Engineering --json
43+
gog sheets get 1vQXfvID72qwqvLb17eyGOvnZXrZG7NBzTGv6RP9wvyM Team --json --results-only
4444
```
4545

46+
Filter to category "Engineering" and status "Active".
47+
4648
## Step 4 (fallback): Get outstanding release notes count
4749

4850
```bash

skills/rhdh-release/workflows/announce-feature-freeze-update.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@ Extract the Feature Freeze date from the description.
4040
## Step 3 (fallback): Get active engineering teams
4141

4242
```bash
43-
python scripts/fetch_team_mapping.py --category Engineering --json
43+
gog sheets get 1vQXfvID72qwqvLb17eyGOvnZXrZG7NBzTGv6RP9wvyM Team --json --results-only
4444
```
4545

46+
Filter to category "Engineering" and status "Active".
47+
4648
## Step 4 (fallback): Get outstanding release notes count
4749

4850
Use the `release_notes` JQL:

skills/rhdh-release/workflows/future-release-dates.md

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,24 @@ python scripts/release.py --json future-dates {{RELEASE_VERSION}}
2222

2323
If the CLI succeeds, use its output directly. If it fails, follow the manual steps below.
2424

25-
## Step 2 (fallback): Fetch schedule from Google Sheets
25+
## Step 2 (fallback): Fetch schedule from Google Sheets via gog
2626

27-
Use the existing `fetch_schedule.py` from `rhdh-test-plan-review`:
27+
First, find the schedule tab:
2828

2929
```bash
30-
python ../../rhdh-test-plan-review/scripts/fetch_schedule.py --version "{{RELEASE_VERSION}}" --sheet-id "1knVzlMW0l0X4c7gkoiuaGql1zuFgEGwHHBsj-ygUTnc"
30+
gog sheets metadata 1knVzlMW0l0X4c7gkoiuaGql1zuFgEGwHHBsj-ygUTnc --json
3131
```
3232

33-
This returns:
33+
Look for a tab containing the current year and "schedule" in the name.
3434

35-
```json
36-
{
37-
"version": "1.10",
38-
"feature_freeze": "2025-09-15",
39-
"code_freeze": "2025-10-01",
40-
"ga_date": "2025-10-15",
41-
"tab": "2025 Schedule"
42-
}
35+
Then fetch the tab contents:
36+
37+
```bash
38+
gog sheets get 1knVzlMW0l0X4c7gkoiuaGql1zuFgEGwHHBsj-ygUTnc "{{TAB_NAME}}" --json --results-only
4339
```
4440

41+
Search the rows for the target version's GA row, then walk backward to find Feature Freeze and Code Freeze dates.
42+
4543
If a specific version is not given, ask the user which version they want, or fetch for each known active release (from the `release-dates` workflow).
4644

4745
## Step 3 (fallback): Format output

skills/rhdh-release/workflows/issues-by-team.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ If the CLI succeeds, use its output directly. If it fails, follow the manual ste
2424
## Step 2 (fallback): Get active engineering teams
2525

2626
```bash
27-
python scripts/fetch_team_mapping.py --category Engineering --json
27+
gog sheets get 1vQXfvID72qwqvLb17eyGOvnZXrZG7NBzTGv6RP9wvyM Team --json --results-only
2828
```
2929

30-
This returns a list of active engineering teams with their `team_id` values.
30+
Filter to category "Engineering" and status "Active". This gives team names and `team_id` values.
3131

3232
## Step 3 (fallback): Query issues and filter by team
3333

skills/rhdh-release/workflows/teams-and-leads.md

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,13 @@ python scripts/release.py --json teams --category Engineering
2828

2929
If the CLI succeeds, use its output directly. If it fails, follow the manual steps below.
3030

31-
## Step 2 (fallback): Fetch team data
31+
## Step 2 (fallback): Fetch team data via gog
3232

3333
```bash
34-
python scripts/fetch_team_mapping.py --json
34+
gog sheets get 1vQXfvID72qwqvLb17eyGOvnZXrZG7NBzTGv6RP9wvyM Team --json --results-only
3535
```
3636

37-
To filter by category (e.g., Engineering only):
38-
39-
```bash
40-
python scripts/fetch_team_mapping.py --category Engineering --json
41-
```
42-
43-
To include deprecated teams:
44-
45-
```bash
46-
python scripts/fetch_team_mapping.py --all --json
47-
```
37+
Filter the JSON output to active teams only (status column = "Active"). To filter by category, match the category column.
4838

4939
## Step 3 (fallback): Format output
5040

@@ -60,15 +50,14 @@ Include link to source: [RHDH Team Mapping](https://docs.google.com/spreadsheets
6050

6151
<gotchas>
6252

63-
- By default only Active teams are returned. Use `--all` flag for deprecated teams.
64-
- The `team_id` is the numeric ID used for JQL filtering with `"Team[Team]" = {{TEAM_ID}}` syntax.
65-
- Team ID is used by `parse_issues.py --enrich` for team-based filtering — not direct JQL (the Team custom field cannot be queried via JQL).
53+
- By default only active teams are returned. The CLI filters by `status = Active` in the Google Sheet.
54+
- The `team_id` is the numeric ID used by `parse_issues.py --enrich` for team-based filtering — the Team custom field cannot be queried via JQL directly.
6655

6756
</gotchas>
6857

6958
<success_criteria>
7059

7160
- [ ] Table with team name, lead, category, and team ID
72-
- [ ] Only active teams shown (unless `--all` requested)
61+
- [ ] Only active teams shown by default
7362

7463
</success_criteria>

tests/unit/test_release_cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""Unit tests for skills/rhdh-release/scripts/ — jql.py, slack_templates.py, release.py, schedule.py."""
1+
"""Unit tests for skills/rhdh-release/scripts/ — jql.py, slack_templates.py, release.py."""
22

33
import sys
44
from pathlib import Path

0 commit comments

Comments
 (0)