I see there's a REST endpoint for this Slack integration. Is there any documentation for configuring it via REST?
We have hundreds of repositories, and configuring them manually is a major undertaking. It would help if we could manage it programatically. A global Slack configuration that applies to all repositories in a project would also be beneficial.
Hey @Ben Middleton
There are endpoints that you can use. They are not officially supported but you can rely on them being stable.
You can use command line or any HTTP client tool such as curl or Postman to achieve bulk configuration. Let's try a step-by-step example:
1. Get all repository IDs from a project using Bitbucket Server API
curl -s --user user:pass https://<baseUrl>/rest/api/1.0/projects/<projectSlug>/repos | jq -r '.values.id'
Note that the project slug is something like "PROJECT_1". You can find this value in the URL when you visit the project or a repository in it.
2. Create the configuration
curl -s -X PUT --user user:pass https://<baseUrl>t/rest/slack/latest/config/<repositoryId>/<slackTeamId>/<slackChannelId>/new?initialLink=true
Note that the repository ID is an integer number as returned in the previous step. As the Slack team and channel IDs, they usually start with T and C, respectively, and can be found in Slack.
Apart from that, if you want to know which endpoints and which values are used in these endpoints, you could just inspect the configuration page requests with the Developer Tools in your browser. ;)
Hope that helps. Cheers!
Atlassian's marketplace partners have had a very productive start to 2021! Since our last roundup, our developer community has added over 160 new cloud apps to the Atlassian Marketplace to help you...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event