You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
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