One of the most important aspects of a solid connector is the automation that creates new localization tasks when the content in the repository is added or changed.
Branch monitoring approach
BWX monitors GitHub repositories using its REST API. In order to do so, our clients need to authorize an account to create a token in Bureau Works to access the API. These credentials are encrypted with AES 256 and stored in the Client’s profile.
There are two monitoring strategies: branches and pull requests.
The Connector will constantly monitor one or more branches in one or more repositories, and once the files being observed are modified, it will create a project in Bureau Works and notify our team. In continuous localization projects, any previously translated strings are fully taken into account.
Once a project is delivered, the GitHub Connector will create a Pull Request for a patch branch containing the file(s) after the translation is finished. We can customize the output path and naming strategies for the output files. This creates a non-intrusive and very elegant delivery mechanism when a team tends to use one or just a few branches for development.
Just like the Branch strategy, we can also monitor Pull Requests, for teams using Gitflow or similar workflows. The Connector can monitor all pull requests, for all the branches, for the same configured files. Again, once a difference is found based on the file’s hash, a project will be created.
The big difference with this strategy is the delivery mechanism. Because pull requests refer to a branch, once a project is delivered, the Connector will create a commit in the same branch as the pull request. Once the pull request is accepted and merged, it will carry along the translated file(s) onto the target branch, i.e., master, develop, etc.