Commit Graph

26305 Commits

Author SHA1 Message Date
Ben Lambert 9cd0b5d153 Merge pull request #32122 from Jee-on/master
fix(scaffolder-backend): pass missing config to NunjucksWorkflowRunner
2025-12-16 11:27:41 +01:00
Jake Smith 58b6b933fe Restore original yaml formatting
Signed-off-by: Jake Smith <jakemgsmith@gmail.com>
2025-12-16 10:20:57 +01:00
Jake Smith 864d969252 Add OAuth support for bitbucket pull-request action and update bitbucket sample template
Signed-off-by: Jake Smith <jakemgsmith@gmail.com>
2025-12-16 10:20:57 +01:00
Jake Smith e3ba350ee3 Add OAuth support for bitbucket publish action
Signed-off-by: Jake Smith <jakemgsmith@gmail.com>
2025-12-16 10:20:57 +01:00
Jake Smith 1956b3f398 Remove cachekey logic, not needed as only a single bitbucket connection is supported, rework tests and update api report
Signed-off-by: Jake Smith <jakemgsmith@gmail.com>
2025-12-16 10:20:57 +01:00
Jake Smith 37fba1d8ec Add config example, changeset and API reports
Signed-off-by: Jake Smith <jakemgsmith@gmail.com>
2025-12-16 10:20:57 +01:00
Jake Smith 959e6ecc5a Add Bitbucket Cloud OAuth support
Signed-off-by: Jake Smith <jakemgsmith@gmail.com>
2025-12-16 10:20:57 +01:00
Fredrik Adelöw e404b12604 Merge pull request #32065 from karpfslp/extend-entity-predicate-value-type
fix: $contains may have string value in an entity filter.
2025-12-16 09:25:11 +01:00
Sandor Karpf 7f014c4e38 fix: repair Zod validator for disabling variable in object name
Signed-off-by: Sandor Karpf <sandor.karpf@lastpass.com>
2025-12-16 09:08:15 +01:00
Ben Lambert 8e9dd47113 Merge pull request #32042 from gabemontero/mcp-reg-unreg-catalog
feat(catalog): add MCP tools for register/unregister catalog entities
2025-12-16 08:24:41 +01:00
Fredrik Adelöw 4e4901c21d Merge pull request #32095 from UncleDoom/refactor-oauthcookiemanager-fix-chunked-cookie-removal
fix(auth): fix edge case related to chunked oauth token cookie
2025-12-15 22:11:48 +01:00
Fredrik Adelöw b404647c64 Merge pull request #32080 from backstage/freben/search-first 2025-12-15 19:44:09 +01:00
Sandor Karpf e382000997 fix: disable array type in entity predicate types and zod schema validator
Signed-off-by: Sandor Karpf <sandor.karpf@lastpass.com>
2025-12-15 18:52:53 +01:00
gabemontero a67c888faa update the 'unregister-entity' description to include use of URL to identify location
Signed-off-by: gabemontero <gmontero@redhat.com>
2025-12-15 10:02:37 -05:00
Patrik Oldsberg a0de7cf2b7 Merge pull request #31933 from backstage/upgrade-jsdom
chore: upgrade jsdom to v27 and Jest to v30
2025-12-15 16:01:01 +01:00
Fredrik Adelöw c96cfa978a Merge pull request #32000 from JessicaJHee/sync-gh-id
feat(catalog): add github user ID in user entity
2025-12-15 09:49:39 +01:00
Jee-on be5972b5d4 fix(scaffolder-backend): pass missing config to NunjucksWorkflowRunner
Signed-off-by: Jee-on <tjdgh3586@gmail.com>
2025-12-14 16:38:25 +09:00
Fredrik Adelöw b1f44f9d0d Merge pull request #32108 from angeliski/add-page-size
chore: add page size options to GithubOrgEntityProvider
2025-12-13 20:03:22 +01:00
Fredrik Adelöw 33663d03f3 Merge pull request #31532 from drodil/notifications_ui_improvements2
fix(notifications): ui improvements
2025-12-13 19:44:47 +01:00
Fredrik Adelöw adeb5fd152 Merge pull request #31683 from beverts312/techdocs-schema
fix(techdocs): use correct type for additionalAllowedUriProtocols
2025-12-13 19:34:13 +01:00
Fredrik Adelöw 77568d46f6 Merge pull request #31805 from kaidubauskas-dd/kaidd/slack-module-rate-limit
Notification slack processor: make rate limit configurable
2025-12-13 19:26:44 +01:00
Fredrik Adelöw fff8c798ae Merge pull request #31922 from StateFarmIns/update-notif-ses-options
fix: Update email processor ses options to match v2 of ses sdk
2025-12-13 19:21:45 +01:00
Fredrik Adelöw cf44ca189d Merge pull request #32078 from VELUX/feature/events-kafka
feat(events): add support for publishing to kafka and multiple instances
2025-12-13 19:19:22 +01:00
williamwu-mongodb e49a022a16 bugfix: add devtools alpha permissions to devtools-backend
Signed-off-by: williamwu-mongodb <william.t.wu@mongodb.com>
2025-12-12 10:18:09 -08:00
Rogerio Angeliski a413977c7c chore: add page size options to GithubOrgEntityProvider
Signed-off-by: Rogerio Angeliski <angeliski@hotmail.com>
2025-12-11 16:12:30 -03:00
Johan Persson 900053a576 fix(catalog): fix flaky context menu test race condition
The "should render an onClick based context menu item" test was
failing intermittently due to a race condition where the test
would interact with the menu before the entity route parameters
were fully resolved.

Fix by adding explicit waits:
- Wait for entity to load before clicking the menu button
- Wait for menu to open before asserting on menu items

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2025-12-11 18:07:00 +01:00
Johan Persson e70ff47db3 chore: migrate three packages to MSW v2
Migrates test files in config-loader, events-node and kubernetes-react
packages from MSW 1.x to MSW 2.x API to fix compatibility issues with
Jest 30 and JSDOM v26.

Changes:
- Updated msw dependency from ^1.0.0 to ^2.0.0
- Changed imports from `rest` to `http` and `HttpResponse`
- Converted handler syntax from `res(ctx.*)` to `HttpResponse.*`
- Changed `toStrictEqual` to `toEqual` for response assertions

Affected packages:
- @backstage/config-loader
- @backstage/plugin-events-node
- @backstage/plugin-kubernetes-react

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2025-12-11 18:07:00 +01:00
Johan Persson cd0b8a11a3 chore: make jest a peer dependency with v29/v30 support
Move jest from dependencies to peer dependencies, allowing users to
choose between Jest 29 and Jest 30.

The CLI now detects the Jest version at runtime and uses the
appropriate environment:
- Jest 29: Uses standard jest-environment-jsdom
- Jest 30: Uses a custom environment based on @jest/environment-jsdom-abstract
  with fixes for Web API globals (fetch, streams, Error, etc.)

The cross-fetch polyfill is only injected for Jest 29, as with Jest 30+
our patched Jest environment is used. The network request blocker is made
MSW-compatible by checking if fetch was wrapped before blocking.

Jest 30 (with jsdom v27) fixes `Could not parse CSS stylesheet`
warnings/errors when testing components from @backstage/ui or other
packages using CSS `@layer` declarations.

New peer dependencies (install based on your Jest version):
- jest (required, ^29 or ^30)
- Jest 29 requires: jest-environment-jsdom
- Jest 30 requires: @jest/environment-jsdom-abstract, jsdom

Production code changes for jsdom 27 testability:
- AppIdentityProxy: extract navigateToUrl method for spying
- LiveReloadAddon: export utils.reloadPage for spying
- collect.ts: export internal.resolvePackagePath for mocking

MockFetchApi: evaluate global.fetch at call time instead of construction
time, allowing MSW to patch fetch after MockFetchApi is constructed.

Test adaptations for jsdom 27:
- Use RGB values instead of named colors in CSS assertions
- Update error format expectations (hyphenated type names, SyntaxError
  instead of FetchError for JSON parse errors)
- Simplify URL error assertions for cross-version compatibility
- Fix accessible name whitespace handling for external links
- Use history.replaceState for location mocking (non-configurable)
- Use fireEvent.blur for contentEditable elements
- Move async assertions inside waitFor for race conditions
- Remove Blob.prototype.text polyfill (now native)
- Remove test case using credentials in plugin:// URLs

Test adaptations for Jest 30:
- Replace `expect.objectContaining([...])` with direct array equality
- Replace `expect.objectContaining({ length: N })` with
  `expect.any(Array)` + separate `toHaveLength()` assertions
- Use child process for native Node.js module resolution in
  collect.test.ts to work around Jest 30's resolver behavior
- Update snapshot headers for new Jest format

Also removes the jest-haste-map patch which is no longer needed.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2025-12-11 18:06:55 +01:00
Jonas Beck 9fa23b3ea1 feat(events): add backwards compatability to kafkaConsumingEventPublisher config
Signed-off-by: Jonas Beck <dev@jonasbeck.dk>
2025-12-11 10:39:47 +01:00
Andre Wanlin 6c53ccc136 Merge pull request #31655 from williamwu-mongodb/feature/add-scheduled-tasks-devtools-plugin
feat: add scheduled tasks UI to devtools plugin
2025-12-10 16:26:54 -06:00
Jessica He b3286d57cb feat(catalog): add github user ID in user entity
Signed-off-by: Jessica He <jhe@redhat.com>
2025-12-10 16:14:43 -05:00
Dominik Bargowski b35f8b2ac8 fix(auth): fix edge case related to new chunked oauth token cookie having less chunks than previous one and refactor for readability
Signed-off-by: Dominik Bargowski <dominik.bargowski@gmail.com>
2025-12-10 19:58:31 +01:00
Sandor Karpf 8cf6944d82 test: update snapshot tests
Signed-off-by: Sandor Karpf <sandor.karpf@lastpass.com>
2025-12-10 18:09:07 +01:00
Sandor Karpf d1b73d41d2 fix: $contains may have only string value additionally in an entity filter.
Signed-off-by: Sandor Karpf <sandor.karpf@lastpass.com>
2025-12-10 18:08:34 +01:00
Kai Dubauskas c03ea7e6e8 address comments
Signed-off-by: Kai Dubauskas <kai.dubauskas@doordash.com>
2025-12-10 12:07:03 -05:00
Sandor Karpf c51c901779 fix: Typescript type and Zod parser were not the same.
Signed-off-by: Sandor Karpf <sandor.karpf@lastpass.com>
2025-12-10 16:46:46 +01:00
benjdlambert cf7506ab84 chore: refactor slightly to bring into similar patterns to the scaffolder action.
Signed-off-by: benjdlambert <ben@blam.sh>
2025-12-10 10:45:07 +01:00
williamwu-mongodb c692fbf5e3 Update plugins/devtools-common/src/permissions.ts
Co-authored-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com>
Signed-off-by: williamwu-mongodb <william.t.wu@mongodb.com>
2025-12-09 12:54:41 -08:00
williamwu-mongodb bf97a69ad0 Update plugins/devtools-common/src/permissions.ts
Co-authored-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com>
Signed-off-by: williamwu-mongodb <william.t.wu@mongodb.com>
2025-12-09 12:54:32 -08:00
williamwu-mongodb 02b0071484 Update plugins/devtools-common/src/permissions.ts
Co-authored-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com>
Signed-off-by: williamwu-mongodb <william.t.wu@mongodb.com>
2025-12-09 12:54:21 -08:00
williamwu-mongodb d76c326143 repo fix
Signed-off-by: williamwu-mongodb <william.t.wu@mongodb.com>
2025-12-09 12:45:44 -08:00
williamwu-mongodb c89d74b763 address feedback
Signed-off-by: williamwu-mongodb <william.t.wu@mongodb.com>
2025-12-09 12:07:00 -08:00
williamwu-mongodb 6a552b389a Update plugins/devtools/config.d.ts
Co-authored-by: Fredrik Adelöw <freben@gmail.com>
Signed-off-by: williamwu-mongodb <william.t.wu@mongodb.com>
2025-12-09 11:14:52 -08:00
github-actions[bot] e08f48a9b5 Version Packages (next) 2025-12-09 15:00:09 +00:00
Fredrik Adelöw 081b310d26 Merge pull request #31940 from backstage/renovate/npm-modelcontextprotocol-sdk-vulnerability
chore(deps): update dependency @modelcontextprotocol/sdk to v1.24.0 [security]
2025-12-09 15:53:49 +01:00
benjdlambert e83e038dad chore: ok, this is it
Signed-off-by: benjdlambert <ben@blam.sh>
2025-12-09 15:11:32 +01:00
Fredrik Adelöw 1ff323a3b1 Merge pull request #32004 from backstage/renovate/backstage-community-plugin-explore-common-0.x
fix(deps): update dependency @backstage-community/plugin-explore-common to ^0.9.0
2025-12-09 13:47:23 +01:00
Fredrik Adelöw bbd3dec4ae Merge pull request #32069 from backstage/renovate/nodemailer-7.x
chore(deps): update dependency @types/nodemailer to v7
2025-12-09 13:47:05 +01:00
benjdlambert 043140529a chore: fix deps
Signed-off-by: benjdlambert <ben@blam.sh>
2025-12-09 12:54:52 +01:00
Fredrik Adelöw f80cb26825 Merge pull request #31349 from IlyaSavich/kubernetes-router-extension
Add Kubernetes Router extension point, add fetcher to custom objects provider
2025-12-09 11:58:52 +01:00