ワンクリックで
update-api-console-components
// Complete release workflow for api-console v6 and anypoint-api-console wrapper
// Complete release workflow for api-console v6 and anypoint-api-console wrapper
| name | update-api-console-components |
| description | Complete release workflow for api-console v6 and anypoint-api-console wrapper |
| triggers | ["update api console components","bump api console version","release api console v6","update console components","release anypoint api console","update wrapper"] |
Automates the complete release workflow:
api-console v6 (mulesoft/api-console)anypoint-api-console wrapper (mulesoft-emu/anypoint-api-console) with new versionnpm view @api-components/<name> version).claude/ in gitignore)mulesoft/api-console repo: ~/mulesoft/context/products/api-console/v6/api-consolealexperez@mulesoft.com~/mulesoft/context/products/api-console/wrapperalexperez@salesforce.comFixed in @api-components/component@X.Y.Z@W-XXXXXXXX format (with @ prefix)Ask user for:
api-navigation, api-summary, api-type-document)cd ~/mulesoft/context/products/api-console/v6/api-console
git status # Verify we're in correct repo
git checkout master # Main branch (currently named 'master' in api-console repo)
git pull
Read current version from package.json, calculate next patch version.
# If current is 6.6.60, next is 6.6.61
git checkout -b build/<new-version>
Branch pattern: build/X.X.X where X.X.X is the next patch version.
For each component in the update list:
npm update @api-components/<component-name>
Common components:
@api-components/api-navigation@api-components/api-summary@api-components/api-type-document@api-components/api-documentation@api-components/api-requestFor each updated component:
npm ls @api-components/<component-name>
Check for:
If overrides/conflicts detected:
rm package-lock.json
rm -rf node_modules
npm install
npm ls @api-components/<component-name> # verify again
BEFORE any commits, configure Git for MuleSoft repos:
# Option 1: If you have the alias (see docs/team/configs/git-gpg-setup.md)
mulesoft-git
# Option 2: Manual configuration
git config user.email "yourname@mulesoft.com"
git config user.signingkey YOUR_GPG_KEY_ID
This ensures commits are signed with your @mulesoft.com email.
⚠️ Skipping this step will result in rejected commits and broken git history.
Setup guide: See docs/team/configs/git-gpg-setup.md for GPG configuration options.
npm version patch --no-git-tag-version
This updates package.json to next patch version without creating a git commit.
Why --no-git-tag-version: Avoids "Git working directory not clean" errors. We'll commit manually.
Prepare commit message listing all updated components:
git add package.json package-lock.json
git commit -m "chore: bump version to <new-version>
Updated components:
- @api-components/component1: oldVer → newVer
- @api-components/component2: oldVer → newVer
- @api-components/component3: oldVer → newVer
Related: W-XXXXXXX, W-YYYYYYY"
Commit message format:
chore:bump version to X.X.Xgit log --show-signature -1
Must show:
Good signature from "Your Name <yourname@mulesoft.com>"Your Name <yourname@mulesoft.com>If signature is wrong or missing:
# Reconfigure (see docs/team/configs/git-gpg-setup.md)
git config user.email "yourname@mulesoft.com"
git config user.signingkey YOUR_GPG_KEY_ID
# Amend commit
git commit --amend --no-edit -S
git log --show-signature -1 # verify again
git push -u origin build/<new-version>
⚠️ Cannot use gh pr create: EMU account restrictions prevent gh CLI from accessing mulesoft/* repos.
Use GitHub web UI instead:
Release v<version>## Updated Components
- @api-components/api-navigation: 4.3.20 → 4.3.22
- @api-components/api-summary: 4.6.16 → 4.6.18
- @api-components/api-type-document: (transitive) → 4.2.41
## Related Tickets
- W-XXXXXXX: Description
- W-YYYYYYY: Description
All tickets currently in "Pending Release" status.
After api-console PR is merged and new version is published to npm (automatic via CI, ~5-10 min):
npm view api-console version (should show new version)Location: ~/mulesoft/context/products/api-console/wrapper (NOT v6/anypoint-api-console)
cd ~/mulesoft/context/products/api-console/wrapper
git status # Verify we're in correct repo
git checkout master # Main branch (currently named 'master' in wrapper repo)
IMPORTANT: This is a mulesoft-emu/* repo (Salesforce EMU), NOT mulesoft/*.
# Option 1: If you have the alias (see docs/team/configs/git-gpg-setup.md)
salesforce-git
# Option 2: Manual configuration
git config user.email "yourname@salesforce.com"
git config user.signingkey YOUR_GPG_KEY_ID
This ensures commits are signed with your @salesforce.com email (NOT @mulesoft.com).
git pull
Note: If pull fails with "Repository not found", verify remote:
git remote -v # Should show: mulesoft-emu/anypoint-api-console
Branch naming: Use wrapper version number directly (e.g., 6.6.88), NOT build/ or feat/ prefix.
Version calculation:
package.json or recent branchesgit checkout -b 6.6.88 # Direct number, no prefix
Edit builder/package.json:
# Change from:
"api-console": "6.6.60"
# To:
"api-console": "6.6.61"
IMPORTANT: Always delete package-lock.json and node_modules. This is NOT optional.
cd builder
rm package-lock.json
rm -rf node_modules
npm install
Why: Ensures transitive component dependencies update correctly. Skipping this step causes component version mismatches.
Check all three gRPC-related components:
npm ls @api-components/api-navigation @api-components/api-summary @api-components/api-type-document
Expected output:
api-console-builder@0.0.1 /path/to/wrapper/builder
└─┬ api-console@6.6.61
├── @api-components/api-navigation@4.3.22
├── @api-components/api-summary@4.6.18
└── @api-components/api-type-document@4.2.41 (deduped in tree)
If versions don't match: Something went wrong. Re-run step 6.
Return to repo root and commit:
cd .. # Back to repo root
git add builder/package.json builder/package-lock.json
git commit -m "chore: update api-console to 6.6.61
Includes gRPC-related component updates:
- @api-components/api-navigation: 4.3.20 → 4.3.22
- @api-components/api-summary: 4.6.16 → 4.6.18
- @api-components/api-type-document: → 4.2.41
Related: W-XXXXXXX, W-YYYYYYY"
Commit message format:
chore:git log --show-signature -1
Must show:
gpg: Good signature from "Your Name <yourname@salesforce.com>"
Author: Your Name <yourname@salesforce.com>
If wrong: Reconfigure and amend commit (see docs/team/configs/git-gpg-setup.md).
git push -u origin 6.6.88
✅ Can use gh pr create: EMU account DOES work with mulesoft-emu/* repos.
PR Title Format: @W-XXXXXXXX: Release X.X.X
IMPORTANT:
@ (e.g., @W-21411326)6.6.88), NOT api-console versiongh pr create --title "@W-21411326: Release 6.6.88" --body "Updates api-console dependency to v6.6.61
## Updated Components
- @api-components/api-navigation: 4.3.20 → 4.3.22
- @api-components/api-summary: 4.6.16 → 4.6.18
- @api-components/api-type-document: → 4.2.41
## Related
- api-console release: https://github.com/mulesoft/api-console/releases/tag/v6.6.61
- api-console PR: https://github.com/mulesoft/api-console/pull/XXX
- npm: https://www.npmjs.com/package/api-console/v/6.6.61
- GUS: W-21315017, W-21315032"
GUS Work Item:
Post in #api-console-cloud-sync:
Hi team, We've released a new API Console version:
api-console@6.6.61 (@mulesoft/api-console-build@6.6.88)
Release Notes: https://github.com/mulesoft/api-console/releases/tag/v6.6.61
Format:
api-console@X.X.X (@mulesoft/api-console-build@Y.Y.Y)Before pushing:
~/mulesoft/context/products/api-console/wrapper6.6.88), no build/ or feat/ prefixbuilder/package.json updated to new api-console versionnpm ls @api-components/...@W-XXXXXXXX: Release X.X.X (with @ prefix)| Aspect | api-console | anypoint-api-console |
|---|---|---|
| Repo org | mulesoft/* | mulesoft-emu/* |
| GPG email | @mulesoft.com | @salesforce.com |
| GPG setup | See docs/team/configs/git-gpg-setup.md | See docs/team/configs/git-gpg-setup.md |
| Branch naming | build/6.6.61 | 6.6.88 (no prefix) |
| Version bump | Yes (npm version patch) | No (only update dependency) |
| gh pr create | ❌ Fails (use web UI) | ✅ Works |
| PR title | Release vX.X.X | @W-XXXXXXXX: Release X.X.X |
| Lock file delete | Optional (if conflicts) | Mandatory (always) |
Before pushing branch, verify:
npm ls)package.json (e.g., 6.6.60 → 6.6.61)alexperez@mulesoft.com GPG key (verified with git log --show-signature -1)Cause: Untracked files (e.g., .claude/) or staged changes.
Solution:
git status --porcelain # Find untracked files
# Add .claude/ to .gitignore if not present
# OR: Use --no-git-tag-version flag (already in workflow)
Cause: Git not configured with correct email/GPG key for this repo.
Solution:
# Reconfigure (see docs/team/configs/git-gpg-setup.md for setup)
git config user.email "yourname@mulesoft.com" # or @salesforce.com for EMU repos
git config user.signingkey YOUR_GPG_KEY_ID
# Amend commit
git commit --amend --no-edit -S
git log --show-signature -1
Cause: Version constraint in package.json doesn't allow new version, OR new version not published to npm.
Solution:
# Check if version exists in npm
npm view @api-components/<component-name> version
# If exists but not updating, check package.json constraint
# Example: "^4.3.20" allows 4.3.22 but not 5.0.0
# If constraint is blocking, manually update package.json
# Then run npm install
# If still not working, delete lock file
rm package-lock.json
npm install
npm ls shows overridesCause: Multiple versions of same dependency in tree, npm forced resolution.
Solution:
cd builder # If in anypoint-api-console
rm package-lock.json
rm -rf node_modules
npm install
npm ls @api-components/<component>
gh pr create fails with "Enterprise Managed User" errorCause: EMU account cannot use GitHub API for mulesoft/* repos (only mulesoft-emu/* works).
Solution: Use GitHub web UI to create PR. git push/pull work fine (use SSH/HTTPS, not API).
advanced-rest-client GitHub org, NOT mulesoft