As you can see on the screen we do support only those attributes. As far as I can tell your extension is based on the official documentation. I will discous with our platform team about updating the examples with proper attribute names.
Apologies for the confusion and have a good weekend!
Maciej
Thanks for all your help. I’ve got one app covered by using a modal. I really like the way the CSE are re-rendered when the PR state changes on the page.
For Organizr I would like to find out the best way to display set of PR labels on the PR page. The due date and other single valued metadata are not a problem. However how do I display a list of (label) values?
Another question is how can I trigger a re-render from within the CSE module?
I’m not sure if I understand your idea correctly what you are trying to do @izymesdev. Maybe you can share an image that explains what the end goal of the extension is.
@madamczak - I’ve shared an image earlier which shows a PR labels input field and a set of labelsonetwo associated with the PR. I understand that adding labels could be done via a form in a modal. I would like to explore options how to display an arbitrary set of labels on the PR page
As for the reload - Workzone requires some users to approve a PR via username/pw (digital signature). Once the signed approval was successful the CSE closes the modal and forces a full page reload (see gif) to update the approved status.
How can the CSE update the status of the whole PR page? Is there an event the CSE can emit to signal to the parent react app to update state and re-render?
I’ve run into an issue updating the icon through the ExtensionApi.updateAttributes method. In my plugin the icon doesn’t change. So I tried again by modifying one line of the updateAttributes method to check if I was doing it correctly:
import { ButtonExtension } from '@atlassian/clientside-extensions';
/**
* @clientside-extension
* @extension-point bitbucket.ui.pullrequest.overview.summary
*/
export default ButtonExtension.factory(extensionAPI => {
let clicked = 0;
return {
label: `Go ahead, click me!`,
iconBefore: 'app-access',
onAction: () => {
// increment times clicked
clicked++;
// update label with times clicked
extensionAPI.updateAttributes({
label: `Clicked: ${clicked} times. Amazing!`,
iconBefore: 'warning', // add line to update the icon as well
});
},
};
});
When the page is loaded the link has the ‘app-access’ icon and label ‘Go ahead, click me!’.
Click once and the link will still have the ‘app-access’ icon and new label ‘Clicked: 1 times. Amazing!’.
Click again and the icon will change to the ‘warning’ icon and the label is updated to ‘Clicked: 2 times. Amazing!’.
So there appears to be a refresh issue here. Can you look into it?
I would be very interested in the proposed solution for this as well. I’m trying to display a message on the pull request overview summary panel. From the documentation I suspect we’d need a PanelExtension to do this, but unfortunately as you’ve stated before, the “panel” type is not supported for this particular extension point. Any chance this might be added in the future? Or an alternative way to do this?
Displaying more reach UI elements can be done only in the modal. That’s the only supported behaviour we have.
Sorry, we don’t support that kind of APIs currently. The solution you have with reloading the page is currently the only possible solution I can recommend.
Hi Anne, apologies for the inconvenience. For now, we don’t have any strict plans to add new behaviour to this extension point. Please observe the community blog post and release notes of upcoming Bitbucket versions. We might extend the supported types of the extensions and add a panel type at some point.
I’m not comfortable with the ‘might extend … at some point’ approach. The pull request overview page is the most important one, like Jira issue view. Removing vital extension points that have been there for years and that enterprise-scale apps are built and rely on is detrimental to the function and features of these apps resulting in loss of new license sales, renewals, evaluations and loss of market share in general. @madamczak please be a vendor and developer advocate and escalate this with the BBS dev management.
Your help is much appreciated - with kind regards, Ulrich
Hi @izymesdev, I can understand the confusion and frustration about that. From my point, I can share that last week we run a spike task that uncovered a few technical challenges we need to solve on our end. We also found a blocker in one of the external libraries we use. Once we have a fix for that issue, we can progress with the integration in our codebase. I can reassure you that we are working on that, but it’s hard to provide any strict date when we will be able to ship the new extension point. Personally, I think it’s a matter of one or two more release cycles, so probably we might have the new extension point after we release version 7.3.
We always care about the quality in Bitbucket, and we think that releasing a half-ready solution is not what we would like to release. Removing the plugin point without providing the alternative in the first place was our mistake. I’ll forward your message to our management.
AuditSearchService is part of new Auditing API which is not part of Bitbucket core API. Unfortunately, Javadocs for this API is not released yet, but we have plans to release it soon.
Hi, @UlrichKuhnhardtIzym1 if you’re interested in pull requests tabs extension point, please vote/watch on the Jira issue @madamczak linked to follow the updates.
Hi @madamczak,
I have a problem migrating Client Web Fragment to CSE.
We had a client web fragment on pull request Overview page that used custom HTML with a lozegne element in it.
With the CSE it is supposed to be done with Panel extension on bitbucket.ui.pullrequest.overview.summary extension point, which is currently not supported. Has anything changed since your April discussion on this topic? Are there plans to add Panel to pull request page? Is there any other way to add custom HTML elements to this extension point?
Also I noticed that Link extension has “iconBefore” and “iconAfter” attributes which I haven’t found in the reference documentation. Is there a way to add custom icons to these attribures?