@atlassianlabs/jql-editor-forge
v1.1.0
Published
JQL Editor pre-integrated with autocomplete REST API's suitable for use in Forge custom UI apps.
Downloads
1,172
Keywords
Readme
JQL Editor for Forge
This package allows Forge app developers to render a JQL Editor component to enable autocomplete-assisted authoring and validation of JQL queries in Forge custom UI apps. The component is pre-configured to fetch autocomplete data from Jira REST API's.
Usage
A minimal configuration of the JQL editor is as follows:
import { useCallback } from 'react';
import { JQLEditorForge } from '@atlassianlabs/jql-editor-forge';
const MyJQLEditor = () => {
const onSearch = useCallback((jql: string) => {
// Do some action on search
}, []);
return (
<JQLEditorForge
query={''}
onSearch={onSearch}
locale={"en"}
/>
);
};
Installation
yarn add @atlassianlabs/jql-editor-forge
Documentation
JQLEditorForge
is a thin wrapper on top of the @atlassianlabs/jql-editor
package. Refer to the JQL editor
documentation to see what other configuration options are
available.
Forge permissions
Scopes
The JQL editor uses Jira Cloud REST API's
to fetch autocomplete data which requires the read:jira-work
scope in your manifest.yml
.
Content Security Policy
By default, Forge custom UI apps block any policies that are considered unsafe by Atlassian (see Use custom content security policies).
To use the JQL editor you'll need to include the styles: unsafe-inline
policy in your app's manifest.yml
. This is required by emotion to embed
JQL editor component styles into the page.
The following is an example of the required permissions block in your app's manifest.yml
:
permissions:
scopes:
- 'read:jira-work'
content:
styles:
- 'unsafe-inline'
What's missing?
This package does not yet support the same feature set available to the JQL editor used in Jira. The key exclusions are:
- User lozenges
- The API's required to translate Atlassian account ID's to user display names is not yet available to third parties.
- Simplified loading of localised messages
- Currently, to show non-english messages, consumers need to import the appropriate message set for the user's locale
and render an
IntlProvider
in the React tree with the imported data. In the long term we'd like these localised messages to be loaded automatically based on the providedlocale
.
- Currently, to show non-english messages, consumers need to import the appropriate message set for the user's locale
and render an
We intend to make these features available to third party apps in future but there is currently no roadmap/timeline for inclusion.
Support
For developers outside of Atlassian looking for help, or to report issues, please make a post on the community forum. We will monitor the forums and redirect topics to the appropriate maintainers.
License
Copyright (c) 2021 - 2022 Atlassian and others. Apache 2.0 licensed, see LICENSE file.