Bitbucket. Translations are not being posted back to the branch

Hi guys,

I’m new to crowdin, trying to figure out the necessary configuration to get the translation back in the repo. The scenario is pretty trivial:
We have a bitbucket repo integrated into crowdin with the configuration develop → l10n_develop. It created a webhook on the repo, branch and the PR with all target files (same in English so far). Integration is set for every hour. When we merge something to develop with new translation keys, it successfully updates the branch and PR with the source language words. So far so good. But when we translate and approve the target languages it doesn’t push anything back to the repo. That’s actually the main goal of the whole integration and I don’t really see what we are doing wrong. Do we need to trigger that somehow?


Hello Sergei,

I guess there might be 2 points

1st one is a delay. If you have a 1-hour schedule, then all translations and approvals should “arrive” approximately within 3-30 minutes after synchronization. It’s not an instant like once per a second

2nd one is possible issue. Maybe you have issue in your integration, like Rate Limit Reached? It happens when your Bitbucket account doing a lot of work (based on API) per one moment of time (not only integrations with Crowdin)

3rd one, maybe you forget to do merge? Like, once you have update from Crowdin, you need to allow or merge this request with your repository (not sure, never did that, but dev from my team saying that this also could be the point)

If non of option helps, pls share crowdim.yml (without credentials like access keys) here, I’ll take a look, perhaps there’s an issue or so

Hi Kate,

Thanks for the answer. Please find some additional details below:

  1. It doesn’t seem to push any translations even if I trigger it manually from the integration page. And it’s been almost 24 hours since we got the thing translated, so I believe first point is not the case.
  2. Integration works fine in regards to the new keys added to the source branch, but it might work differently. Do I understand correctly that for BB → crowdin integration it uses the BB webhook, and for crowdin → BB it uses the BB API? Should I see any integration issues in this case, if I try to sync manually?
  3. So here what I’ve done so far. I configured the integration and it created all necessary target translation files for me. I merged that PR to get them with the same content (all the files now have the same English text as the source file). I didn’t kill the integration branch l10n_develop. We started translating the texts, everybody has the role proofreader and we have auto-approve option enabled on our editors. So I expected to see all new texts coming to the repo every hour, with the new PR from the existing branch as long as we have texts translated and approved. We might be missing some mandatory steps here, tho. What is necessary requirement for the texts to be pushed back to the repo? Is it to be approved? Or we also need to mark the translation completed somehow?
  4. Please find my pipeline file content below:
  - source: /**/
    translation: /%original_path%/


Another weird thing that I noticed, is it’s showing duplicated resources.

This partially complete translation is actual Portuguese translation and the second one has everything in English. Is it an issue with the crowdin.yml configuration?

Sergei, I had a similar case in the past, well, how to describe it better… it’s not easy one being honest

From the screenshot, I see you have 2 similar branches, I guess this is in 1 branch, but the system doesn’t recognize it. Probably you have changed a lot of staff, like renaming branch that was added by integration, or changing some settings, or changing something from Bitbucket side - anyway, that particular branch already lost connection to your repository, that’s why translations you do, they don’t display in the repository.

The solution - delete one branch from Crowdin (in the Files tab, the one that is connected to integration should have a repository name displayed within it’s own name (develop)

Next staff, the translation, I guess logic of all integrations is similar, and you used this button during synch

So it brings not only your source files when you added new branch after renaming\changing an so on old Develop, but also triggers that all source = translations

As solution, there should be undo button in Activity, use it

Finally, in order not to lost translation, once you deleted translations with Undo button, you can download translation for the old branch (file by file) and upload as translated file for the new and actual
Or use TM pretranslation or so


Looks like your branches have the same name (title) so I guess that only one of them is synced with Bitbucket. Did you try connecting multiple repos probably? I’ve noticed that repo name is shown in branch name in “Content” → “Files” in this case, only that branch is synced.

Regarding English texts as translations, I guess you’ve tried uploading translations from the Bitbucket integration page and checked the “Import translations that match” source.

I recommend canceling the recent upload via the Activity feed available on the project page and deleting the branch which doesn’t have [ ] in the branch name. Then, I hope, you will see translations delivered to your repo :crossed_fingers:

Hi Dima, thanks for your reply. Appreciate your help!
I used to be a manager and I configured the integration. Then my account was changed to a proofreader to try the Pro license. Integration stopped working, so we reconfigured it from the new manager account. That’s where I assume this duplicated configuration is coming from. Can you please advice on the best approach to fix it?


Delete old branch + Undo the translation upload (inactivity should be an extremely big amount of “translation added” per one time)

Ok, I’ve recreated everything, the manual sync worked as a charm. Let’s see how it goes with the hourly integration.
Thanks a lot for your help!

1 Like