Create new application with two templates Issuepanel and CustomField

1.Create new application with two templates Issuepanel and CustomField.
2. Call api in issuepanel and retrive data from api and show in table, and in Custom Fields get ids of tables and use in Custom Fields functions.
3. And how to save data and show data in API after refresh page in issue panel

Hi @AzharPathan,
Thanks for reaching out! You can use storage API to store data and share it across the extension points within the app. Let me know if it solves your problem :slight_smile:

Paweł

Hi @PawelRacki
No ,I create a variable in customField app and retrive this data of varibale in issue panel with storage but error occured… Request principal is not authorized to use storage resource
MyCode (View function for custom field and App in Issue panel)—>

const View = () => {
  const demo=storage.set('example-key', [ 'Hello', 'World' ]);
  return (
    <CustomField>
      <Text
        content={` ${cdbCompany } - ${fieldValue.po}`}
      />
    </CustomField>
  );
};

const App = () => {
  storage.get("example-key")
  return (
    <Fragment>
      <Text>Check sotrage database</Text>
      <Form onSubmit={foo}>
        <Text>This is form</Text>
      </Form>
    </Fragment>
  );
};

export const run = render(
  <IssuePanel>
    <App />
  </IssuePanel>
);

Hi @AzharPathan
The App storage API requires your app to have the storage:app scope, did you add it to your manifest file? From the error message it looks like you might have missed it.
Also you should be using storage api using async/await, so for example instead of having storage.get(“example-key”) you should be doing something like const exampleStorage = await storage.get("example-key"). Same goes for setting the data. Instead of const demo=storage.set(‘example-key’, [ ‘Hello’, ‘World’ ]); you should be doing something like const onSomeActionHappening = async () => { await storage.set("example-key", ["Hello", "World"]) }