Hello!
In this article we will talk how to execute your own code after somebody installed our app to Bitbucket.
This article is based on this one.
You can find the source code here.
You can watch the video for this article here.
Out of the box our app contains the following rest endpoint:
app.post('/installed', (req, res, next) => {
req.body.baseUrl = req.body.baseApiUrl;
next();
});
That is why you could think that it is just easy to add your code to this endpoint and everything will be fine. But it is not true. You never now know if your app was installed successfully or not by the installed endpoint within the atalssian-connect-express framework itself.
That is why you need to use the host_settings_saved event (you can find all events here).
To use the event add this code to backend/app.js:
addon.on('host_settings_saved', function(clientKey, data) {
console.log('host_settings_saved')
console.log(clientKey)
console.log(data)
});
We can see that the event accepts clientKey and data. Data is the json which comes with the install request from Bitbucket. The same json you can find in the AddonSettings table for the client.
Now let’s install our app again and have a look at the logs:
host_settings_saved
connection:4192974
{
productType: 'bitbucket',
principal: {
display_name: 'Alexey Matveev',
.....
Which means that the event was called and now we can execute our own post installation actions.
Alexey Matveev
software developer
MagicButtonLabs
Philippines
1,574 accepted answers
1 comment