Up-to-date ACE Examples

I am totally new to this ecosystem. And, I am trying to settle into the development environment. However, the tutorials and repositories are out-of-date. I could just complete the basic one, “hello world”, but others are impossible for beginners. So, I could not progress. Could you guide me?

I’d like to create an app like Jira Issue Field Demo. Could you give me the keywords? How can I manage a database via ACE? Is there any basic tutorial?

Hi and welcome to the community,

In case you want to implement a custom field, it may be a good idea to take a look into forge:
https://developer.atlassian.com/platform/forge/
https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/

there are still some limitations, but depending on your requirements it may be the better choice. For example you can render a custom field only as text for boards, issue search table.

There are a few examples repositories, but you may need to update the npm dependencies:

Thanks for your answers. I have read a few posts about Forge vs ACE, and decided to continue with ACE. I thought the developers with ACE have more control on the plugin.

But, why did you recommend Forge over ACE? It seems that it has newer documentation, but are there any disadvantages to being aware?

With Forge you will have more control over how your custom field will be handled (rendered or editing) and it will be improved in the future. I don’t think that the way custom fields currently work for ACE will be improved in the future. In addition ACE will come with the overhead of hosting a own server. However, the more complex your plugin will be, the more likely it is to run into the forge limitations (i.e. size of the modal dialog, localization).
As for ACE, it will only do the authentication between your UI and the Jira instance + registering some extension points using the atlassian-connect.json and provide you with some JS Client methods to interact with the jira instance. The rest is up to you (manage database access, register hooks that will be called when a issue is updated and so on)

If you strugle with a specific ACE example which was not updated for a long time, you can try to setup a new version using the cli and try to move the code step by step from the example
https://developer.atlassian.com/cloud/confluence/getting-set-up-with-ace/
The atlassian-connect.json is the most important file to look at, as it will register the extension points of the plugin

2 Likes

One Additional Note:
If you don’t need the additional Forge Features, it’s fine to work with connect.
I’m not sure if you already use it, but you should use the credentials.json to “npm/yarn start” your app as it will install and update the app automaticly.
As for the UI, you can use react with atlaskit. To work with react, you may replace hello-world.hbs with hello-world.jsx within the routes/index.js (if it’s still working)

Thanks for your detailed answer. I will analyze Forge documents and try to implement basic examples to understand what the difference is. The main reason why I chose ACE was the Marketplace support, Forge also supports the Marketplace. We do not know both-ACE/Forge- yet, so we cannot decide which one is right for us. Let’s get to know them a bit first.