Hi @StanislavSeletskiy, let me try to answer some of your questions:
We’re developing an add-on which, among other things, adds a new tab to the pull request details page.
The old web-item is no longer supported, sorry for that. For now, we don’t have an extension point as a replacement. Let me talk with our dev team next week and I will get back to you with the answer if we will add a new extension point in the upcoming version of Bitbucket.
It wouldn’t be much of a problem if PR information will be still accessible through bitbucket/util/state.getPullRequest , bit it’s not and it’s not immediately clear how to achieve same behavior via client-side extensions (CSE).
We strongly recommend avoiding querying and mutating the browser DOM HTML elements. With the new implementation of the pull request page, we can’t guarantee that any DOM change will be persistent. You should stick to the extension points that are the supported API on the pull request page.
Also, CSE examples seems to rely on React, but we use Vue for our frontend side of the add-on, and it’s not clear how to use CSE with Vue or is it possible at all.
As the extension developer, you are not tight to use React. You can use Vanilla JS if you want. Most of the extension points requires from you using passing only the attributes object:
The panel type extension, on the other hand, allows you to use the DOM node reference and render your own HTML into it:
For now, we do support the panel extension type only in bitbucket.ui.pullrequest.comment.extra extension point. If we decide to add a new extension point to pull requests tabs, this would be a panel type.
You could use React together with Atlaskit components if you want but that’s not a requirement. You are more than welcome to use Vue if that’s your preferred framework.
Thanks,
Maciej