Package Exports
- @roadiehq/backstage-plugin-jira
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@roadiehq/backstage-plugin-jira) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Jira Plugin for Backstage
Repository migration notice (June/July 2021)
In order to make testing and deployment of our plugins easier we are migrating all Roadie plugins to a monorepo at https://github.com/RoadieHQ/roadie-backstage-plugins. The plugins will still be published to the same place on NPM and will have the same package names so nothing should change for consumers of these plugins.
Features
- Show project details and tasks
- Activity Stream
How to add Jira project dependency to Backstage app
- If you have standalone app (i.e., you didn't clone this repo), then do
cd packages/app
yarn add @roadiehq/backstage-plugin-jira
- Add proxy config:
// app-config.yaml
proxy:
'/jira/api':
target: <JIRA_URL>
headers:
Authorization:
$env: JIRA_TOKEN
Accept: 'application/json'
Content-Type: 'application/json'
X-Atlassian-Token: 'no-check'
# This is a workaround since Jira APIs reject browser origin requests. Any dummy string without whitespace works.
User-Agent: "AnyRandomString"
- Set img-src in Content Security Policy
// app-config.yaml
backend:
# ...
csp:
img-src:
# "'self'" and 'data' are from the backstage default but must be set since img-src is overriden
- "'self'"
- 'data:'
# Allow your Jira instance for @roadiehq/backstage-plugin-jira
- 'JIRA_URL'
- Add plugin component to your Backstage instance:
// packages/app/src/components/catalog/EntityPage.tsx
import { EntityJiraOverviewCard, isJiraAvailable } from '@roadiehq/backstage-plugin-jira';
const overviewContent = (
<Grid container spacing={3} alignItems="stretch">
...
<EntitySwitch>
<EntitySwitch.Case if={isJiraAvailable}>
<Grid item md={6}>
<EntityJiraOverviewCard />
</Grid>
</EntitySwitch.Case>
</EntitySwitch>
</Grid>
);
How to use Jira plugin in Backstage
- Add annotation to the yaml config file of a component:
metadata:
annotations:
jira/project-key: <example-jira-project-key>
jira/component: <example-component> # optional, you might skip value to fetch data for all components
- Get and provide
JIRA_TOKEN
as env variable:- Obtain your personal token from Jira: https://id.atlassian.com/manage-profile/security/api-tokens
- Create a base64-encoded string by converting "
: ", for example jira-mail@example.com:hTBgqVcrcxRYpT5TCzTA9C0F
converts toamlyYS1tYWlsQGV4YW1wbGUuY29tOmhUQmdxVmNyY3hSWXBUNVRDelRBOUMwRg==
- Save the environmental variable
JIRA_TOKEN
withBasic
prefix, eg:JIRA_TOKEN='Basic amlyYS1tYWlsQGV4YW1wbGUuY29tOmhUQmdxVmNyY3hSWXBUNVRDelRBOUMwRg=='
Links
- Backstage
- Further instructons
- Get hosted, managed Backstage for your company: https://roadie.io