@hhaluk/backstage-plugin-jira-eteration
v1.2.0
Published
![a Jira plugin for Backstage](https://raw.githubusercontent.com/RoadieHQ/backstage-plugin-jira/main/docs/jira-plugin.gif)
Downloads
1
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
[email protected]: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