Reputation: 11
I am developing a code security scanner platform on FastAPI in which I need to integrate bitbucket with a Atlassian Connect App like https://marketplace.atlassian.com/apps/1232592/ox-security-bitbucket-app?hosting=cloud&tab=overview
I am able to make the connect app and called my app API from connect app. I am getting all the repos but the issue occurs when I need to map this data to user that asked for integration.
This is my Atlassian Connect App config
{
"key": "aquilax-bitbucket-integration",
"name": "Aquilax Bitbucket Integration",
"description": "Integration that allows Aquilax to access Bitbucket repositories for code scanning",
"vendor": {
"name": "Aquilax",
"url": "https://aquilax.ai"
},
"baseUrl": "https://d0f67ad65d00b9.lhr.life/",
"authentication": {
"type": "jwt"
},
"lifecycle": {
"installed": "/installed",
"uninstalled": "/uninstalled"
},
"scopes": [
"account:write",
"issue",
"issue:write",
"pipeline",
"pipeline:write",
"repository",
"repository:write",
"repository:admin",
"repository:delete",
"webhook",
"wiki",
"pullrequest",
"pullrequest:write",
"team",
"team:write",
"snippet",
"snippet:write",
"runner",
"project",
"project:write"
],
"modules": {
"webhooks": [
{
"event": "repo:push",
"url": "/webhook/repo-access"
}
]
},
"contexts": ["account"]
}
This is index.js
Handle /installed lifecycle event
app.post('/installed', (req, res) => {
const payload = req.body;
// Forward the payload to FastAPI's /installed endpoint
fetch('https://bb63-43-248-153-252.ngrok-free.app/bitbucket/installed/webhook', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
})
.then(response => {
if (!response.ok) {
console.error('Error forwarding to FastAPI:', response.statusText);
res.sendStatus(500);
} else {
console.log('Successfully forwarded to FastAPI /installed');
console.log('Response:', response);
res.sendStatus(200);
}
})
.catch(error => {
console.error('Error forwarding to FastAPI:', error);
res.sendStatus(500);
});
});
Which calls my FastAPI endpoint to fetch all the data from the shared secret.
I maybe missing something in config but I found no way to connect org_id/user_id of my FastAPI user while itegrating bitbucket so I can't map the data I get to org or user when I get the response from bitbucket affter creating the access_token.
I have tried redirecting process in index.js but bitbucket requires a 200 response not redirect response so that is out of question.
Upvotes: 1
Views: 30