Skip to content

Train hop automation#8

Open
nathan-barrett wants to merge 9 commits into
mozilla:mainfrom
nathan-barrett:train-hop-automation
Open

Train hop automation#8
nathan-barrett wants to merge 9 commits into
mozilla:mainfrom
nathan-barrett:train-hop-automation

Conversation

@nathan-barrett

@nathan-barrett nathan-barrett commented Mar 5, 2026

Copy link
Copy Markdown

Adds a /trainhop orchestrator skill that walks through the full New Tab train-hop release workflow, with the following steps:

  • Prompts the user to select which steps of the process they'd like to run
  • Collects inputs that are needed for the selected steps
  • Creates meta bug
  • Updates locales
  • update metrics
  • generates the nimbus recipe
  • File Jira QA ticket
  • Create confluence page for that trainhop
  • Bump minor version

All credentials are requested through python script, so separated from claude

Testing steps:

  • Test in the firefox repo
  • have firefox-aidev-plugins downloaded locally
  1. Install the plugin: claude plugin marketplace add /path/to/firefox-aidev-plugins
  2. Invoke /trainhop and verify the phase selection menu appears with options 1–4 before anything executes

Comment thread plugins/newtab/skills/trainhop/scripts/file_bug.py Outdated

## Steps

### 1. Run channel-metrics-diff

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue: It seems that Claude did not know the following when running channel-metrics-diff:

“Finally, check the contents of browser/extensions/newtab/webext-glue/metrics to see if there is a runtime-metrics-N.json JSON file where N is a version less than what’s currently on the release channel. If so, that file can be deleted as part of this change”

Also, Claude stumbled several times while working and generating the metrics file. We should give it more specificity on what to expect and how to work around it.

Another thing, I've noticed that it is generating a metrics file with the wrong version number (if we’re trainhopping for 150, it generated a 149 file) you can take a look at that here – https://phabricator.services.mozilla.com/D286826

Comment thread plugins/newtab/skills/trainhop/scripts/file_jira_ticket.py Outdated
@nathan-barrett nathan-barrett marked this pull request as ready for review May 21, 2026 14:13
@suhaibmujahid

Copy link
Copy Markdown
Member

@reemhamz any blocker here?

@maxxcrawford maxxcrawford force-pushed the train-hop-automation branch from ebbe9cb to 0642503 Compare July 10, 2026 17:49
@maxxcrawford maxxcrawford requested a review from a team as a code owner July 10, 2026 17:49
@maxxcrawford maxxcrawford force-pushed the train-hop-automation branch from 0642503 to 21e9658 Compare July 10, 2026 17:52
nathan-barrett and others added 9 commits July 10, 2026 12:53
- Add BUGZILLA_API_KEY, ATLASSIAN_EMAIL, ATLASSIAN_API_TOKEN, and ATLASSIAN_NAME env var support to file_bug.py and file_jira_ticket.py, falling back to interactive prompts when not set
- Expand file_jira_ticket.py with all required QA project fields: meta bug, Confluence URL, due date, feature name, owner, shipping method, engineering team, product, target release, and bugs-filed-at
- Output clickable URLs from both scripts instead of bare IDs
- Add .gitignore and .env.example for credential management
- Update file-qa-ticket.md to document the new arguments
version-bump step and Jira/Confluence Python scripts in favor of MCP-driven
references, and rewrites the Confluence page to HTML time/mention nodes.
@maxxcrawford maxxcrawford force-pushed the train-hop-automation branch from 21e9658 to 04aae87 Compare July 10, 2026 17:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants