-
Story
-
Resolution: Done
-
Major
-
None
-
None
-
5
-
False
-
-
False
-
-
-
RHDH Plugins 3279, RHDH Plugins 3280
Story
As a user of RHDH, I want to utilize the scorecard plugin so that I can visualize KPIs from Jira
Background
One of the requirements for the scorecard plugin is the ability to retrieve information from Jira and display those within the scorecard plugin. As such we will be creating a backend module that utilizes the extension points from our backend plugin. The backend module will be responsible for retrieving the required information from Jira and sending it back to the backend plugin for handling.
There will likely need to be some considerations into configuration values for this as we will not have the ability to utilize the integrations from Backstage proper
You can check out roadie jira plugin.
Please come up with entity annotation to filter out jira issues per Backstage entity - check out any existing jira annotation definitions. This annotation will be used to filter jira issues per jira project. You can check out existing annotations to see how the format looks like and jira plugin annotations.
Entity annotations (more info here to see how the format looks like and jira plugin annotations):
jira/project-key: Filter by project - MANDATORY, otherwise error
jira/component: Filter by component
jira/label: Filter by labels
jira/team: Filter by team
jira/custom-filter: overrides custom filter from app-config (this one is new as opposed to jira backstage plugin)
App-config configuration
Example
scorecard: # ....: plugins: jira: open_issues: options: mandatoryFilter: type = Bug AND resolution = Unresolved customFilter: priority in ("Critical", "Blocker")
MandatoryFilter is always included in the query. Both configurations are optional to include in the app-config - if mandatoryFilter is not specified, we go with `type = Bug AND resolution = Unresolved` and we don't have anything default for customFilter.
CustomFilter can be specified by app-config and entities can override it with their custom-filter annotation. They can not override mandatoryFilter.
The resulting query will look like this:
project = from annotation AND mandatoryFilter = from app-config AND optional component = from annotation AND optional label = from annotation (check out correct syntax for multiple labels) AND optional team = from annotation AND optional customFilter = from annotation and if not there then from app-config and if not there then not used
Dependencies and Blockers
QE impacted work
Documentation impacted work
Acceptance Criteria
Backend module that is able to retrieve information from Jira
Upstream documentation updates (design docs, release notes etc)
Technical enablement / Demo
- is depended on by
-
RHIDP-8891 Support Proxy for Jira integration for the scorecard backend plugin
-
- Closed
-