Skip to content

Conversation

@durandom
Copy link
Member

@durandom durandom commented Jan 14, 2026

Summary

Adds Entity Feedback plugin from backstage/community-plugins to RHDH Extensions Catalog.

Plugins

Plugin Package Version
Frontend @backstage-community/plugin-entity-feedback 0.12.0
Backend @backstage-community/plugin-entity-feedback-backend 0.14.0

Plugin Features

  • Like/Dislike or Star rating system for catalog entities
  • Feedback collection with customizable response categories
  • Aggregated rating displays on entity pages
  • Requires authentication (not compatible with guest users)

Checklist

  • source.json created (commit 8f9b3b0)
  • plugins-list.yaml created (with --embed-package @backstage/plugin-notifications-node)
  • CODEOWNERS updated
  • /publish triggered - images published
  • Metadata files added
  • Plugin entity created
  • Local verification with RHDH Local

Verification

Tested locally with RHDH Local using PR artifacts:

  • ✅ Both plugins load without errors in container logs
  • ✅ Backend initializes: Initializing Entity Feedback backend
  • ✅ Frontend loaded: Loaded dynamic frontend plugin '@backstage-community/plugin-entity-feedback-dynamic'
  • ⚠️ Full rating functionality requires authentication (guest mode won't work)
Screenshot 2026-01-15 at 08 56 41 Screenshot 2026-01-15 at 08 56 08

Published Images

ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-entity-feedback:pr_1790__0.12.0
ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-entity-feedback-backend:pr_1790__0.14.0

Notes

  • Backend requires @backstage/plugin-notifications-node embedded (for owner notifications feature)
  • Plugin integrates with Backstage Notifications system

Related

  • Parent feature: RHDHPLAN-272 (1.9 candidates)

Copilot AI review requested due to automatic review settings January 14, 2026 13:40
@durandom durandom requested review from a team, gashcrumb and kadel as code owners January 14, 2026 13:40
@durandom
Copy link
Member Author

/publish

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds the Entity Feedback workspace from the Backstage community-plugins repository, enabling like/dislike and star rating functionality for catalog entities in RHDH. The workspace targets Backstage version 1.45.3, which is the current target version used across many workspaces in this repository.

Changes:

  • Added entity-feedback workspace configuration files
  • Updated CODEOWNERS to assign ownership

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
workspaces/entity-feedback/source.json Defines source repository (backstage/community-plugins) at commit 8f9b3b0 with Backstage version 1.45.3
workspaces/entity-feedback/plugins-list.yaml Lists the frontend and backend plugins to be packaged from the workspace
.github/CODEOWNERS Adds @durandom as owner for the entity-feedback workspace, correctly positioned alphabetically

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link
Contributor

Publish workflow has completed with success.

  • Published container images:
    • ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-entity-feedback:pr_1790__0.12.0
    • ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-entity-feedback-backend:pr_1790__0.14.0

Backstage Compatibility Check

✅ All workspaces are compatible with the target Backstage version (1.45.3).

No action required.

@github-actions
Copy link
Contributor

⚠️
Test workflow skipped: missing plugin metadata files (<workspace>/metadata/*.yaml).

@durandom
Copy link
Member Author

/publish

@github-actions
Copy link
Contributor

Publish workflow has completed with success.

  • Published container images:
    • ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-entity-feedback:pr_1790__0.12.0
    • ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-entity-feedback-backend:pr_1790__0.14.0

Backstage Compatibility Check

✅ All workspaces are compatible with the target Backstage version (1.45.3).

No action required.

@github-actions
Copy link
Contributor


Test workflow failed.

⚠️ Integration tests failed. Check the workflow logs for details.

These plugins failed to load:
backstage-community-plugin-entity-feedback-backend

Error logs from container
�[2m2026-01-14T13:59:23.897Z�[22m �[34mbackstage�[39m �[32minfo�[39m Resolving '@backstage-community/plugin-entity-feedback-backend/package.json' in the dynamic backend plugins 
�[2m2026-01-14T13:59:23.897Z�[22m �[34mbackstage�[39m �[32minfo�[39m Resolved '@backstage-community/plugin-entity-feedback-backend/package.json' at /opt/app-root/src/dynamic-plugins-root/backstage-community-plugin-entity-feedback-backend/package.json 
�[2m2026-01-14T13:59:23.898Z�[22m �[34mbackstage�[39m �[31merror�[39m an error occurred while loading dynamic backend plugin '@backstage-community/plugin-entity-feedback-backend-dynamic' from 'file:///opt/app-root/src/dynamic-plugins-root/backstage-community-plugin-entity-feedback-backend' Cannot find module '@backstage/plugin-notifications-node'
Require stack:
- /opt/app-root/src/dynamic-plugins-root/backstage-community-plugin-entity-feedback-backend/dist/plugin.cjs.js
- /opt/app-root/src/dynamic-plugins-root/backstage-community-plugin-entity-feedback-backend/dist/index.cjs.js
-  �[36mcode�[39m="MODULE_NOT_FOUND" �[36mrequireStack�[39m=["/opt/app-root/src/dynamic-plugins-root/backstage-community-plugin-entity-feedback-backend/dist/plugin.cjs.js","/opt/app-root/src/dynamic-plugins-root/backstage-community-plugin-entity-feedback-backend/dist/index.cjs.js",null] �[36mstack�[39m="Error: Cannot find module '@backstage/plugin-notifications-node'\nRequire stack:\n- /opt/app-root/src/dynamic-plugins-root/backstage-community-plugin-entity-feedback-backend/dist/plugin.cjs.js\n- /opt/app-root/src/dynamic-plugins-root/backstage-community-plugin-entity-feedback-backend/dist/index.cjs.js\n- \n    at Module._resolveFilename (node:internal/modules/cjs/loader:1383:15)\n    at module._resolveFilename (/opt/app-root/src/node_modules/@backstage/backend-dynamic-feature-service/dist/loader/CommonJSModuleLoader.cjs.js:39:16)\n    at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19)\n    at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22)\n    at Module._load (node:internal/modules/cjs/loader:1192:37)\n    at TracingChannel.traceSync (node:diagnostics_channel:322:14)\n    at wrapModuleLoad (node:internal/modules/cjs/loader:237:24)\n    at Module.require (node:internal/modules/cjs/loader:1463:12)\n    at require (node:internal/modules/helpers:147:16)\n    at Object.<anonymous> (/opt/app-root/src/dynamic-plugins-root/backstage-community-plugin-entity-feedback-backend/dist/plugin.cjs.js:5:31)\n    at Module._compile (node:internal/modules/cjs/loader:1706:14)\n    at Module._extensions..js (node:internal/modules/cjs/loader:1839:10)\n    at Module.load (node:internal/modules/cjs/loader:1441:32)\n    at Module._load (node:internal/modules/cjs/loader:1263:12)\n    at TracingChannel.traceSync (node:diagnostics_channel:322:14)\n    at wrapModuleLoad (node:internal/modules/cjs/loader:237:24)"
�[2m2026-01-14T13:59:23.946Z�[22m �[34mrootHttpRouter�[39m �[32minfo�[39m Listening on :7007 
�[2m2026-01-14T13:59:23.948Z�[22m �[34mbackstage�[39m �[32minfo�[39m Plugin initialization started: 'healthcheck', 'app', 'catalog', 'proxy', 'scaffolder', 'search', 'events', 'permission', 'auth', 'dynamic-plugins-info', 'scalprum', 'translations', 'licensed-users-info', 'user-settings' �[36mtype�[39m="initialization"

@durandom
Copy link
Member Author

/publish

@github-actions
Copy link
Contributor

Publish workflow has completed with success.

  • Published container images:
    • ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-entity-feedback:pr_1790__0.12.0
    • ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-entity-feedback-backend:pr_1790__0.14.0

Backstage Compatibility Check

✅ All workspaces are compatible with the target Backstage version (1.45.3).

No action required.

Adds Entity Feedback plugin from backstage/community-plugins to RHDH Extensions Catalog.

- Frontend: @backstage-community/plugin-entity-feedback (0.12.0)
- Backend: @backstage-community/plugin-entity-feedback-backend (0.14.0)
- Upstream: backstage/community-plugins @ 8f9b3b0
- Backstage version: 1.45.3 (exact match)
- Package metadata for frontend and backend plugins
- Plugin entity for Extensions Catalog
- Added to all.yaml for catalog discovery
The backend plugin requires @backstage/plugin-notifications-node
which needs to be bundled into the dynamic plugin.
@durandom durandom force-pushed the add-entity-feedback-workspace branch from 3338322 to 2ae1365 Compare January 14, 2026 14:08
@durandom
Copy link
Member Author

/publish

@sonarqubecloud
Copy link

@github-actions
Copy link
Contributor

Test workflow passed. All plugins loaded successfully.

@github-actions
Copy link
Contributor

Publish workflow has completed with success.

  • Published container images:
    • ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-entity-feedback:pr_1790__0.12.0
    • ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-entity-feedback-backend:pr_1790__0.14.0

Backstage Compatibility Check

✅ All workspaces are compatible with the target Backstage version (1.45.3).

No action required.

@github-actions
Copy link
Contributor

Test workflow passed. All plugins loaded successfully.

@davidfestal
Copy link
Member

@durandom is this PR expected to be review and merged, or only a test of new AI-based PR creation process ?
If expected to be merged, I guess it is then a duplicate of the automatically-created PR #1195

@github-actions github-actions bot added the workspace-addition PR adds a new workspace label Jan 15, 2026
@durandom
Copy link
Member Author

Hi David,

This PR was created through an AI-assisted workflow pilot, but based on a real request (RHDHPLAN-272 - 1.9 plugin candidates).

Good catch on #1195! We discovered a gap in our onboarding workflow — we checked if the plugin workspace already existed, but didn't check for open PRs. That's now logged as a workflow improvement.

Our PR is more complete than the auto-generated one:

  • ✅ Metadata files (workspaces/entity-feedback/metadata/)
  • ✅ Plugin entity (catalog-entities/extensions/plugins/entity-feedback.yaml)
  • --embed-package fix for notifications dependency
  • ✅ Tests passing
  • ✅ Local verification done

Happy to mark #1195 as superseded by this one, or we can close ours and port the additions to #1195 — whichever you prefer.

@nickboldt
Copy link
Member

nickboldt commented Jan 15, 2026

That's now logged as a workflow improvement.

To avoid noise, this should be logged as a blocker so we don't churn out PRs that will just get closed as dupes.

mark #1195 as superseded by this one, or we can close ours and port the additions to #1195 — whichever you prefer.

Which one is more correct?

Per slack chat I've added the hold flag so we don't merge this until AFTER the release-1.9 branch exists.

@durandom
Copy link
Member Author

this will supersede #1195

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants