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