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!
@Luiz Silva do you think those are still working? it seem they didn't get supported till now since I cannot find any documentation on them.
but I have tested them out and I am not able to get them working.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.