REST API branches access / Import project branches


#1

I’m looking into improving my workflow with Playcanvas.

As I publish the same game in different platforms, the way that I use the versioning system is to have release branches for each platform. So, I’ve got a develop branch into which I merge feature branches, develop goes into master where I create a new checkpoint for each published version and then master merges into the release branches which hold the slight differences between platforms… could be ads, analytics, keyboard / touch controls, etc.

This is not that much different as some of the suggested workflows in the docs where release branches for versions are suggested:

https://developer.playcanvas.com/en/user-manual/version-control/branch-workflows/

The problem I’m tackling right now is that I’m trying to speed up work by having a template project with a skeleton structure of what I usually use. Ideally I could have my own web application in which I could create new projects and create branches via the REST API, but neither of those seem to be possible. So… another option that I saw was having a template project, and archiving it and using that to manually import that archive zip into a new project. The problem I’ve found with this approach is that, just like forking, only master branch is taken with the archive.

Even though this might be MY particular issue and thus not that valuable to spend time if there’s not a popular demand for it, I’m thinking that the archive feature isn’t that helpful taking into account that you are suggesting branch workflows in your documentation… shouldn’t the archive feature export all the open branches if it’s used for example as a backup ? Am I missing something ?

One more thing, reading the REST API docs there doesn’t seem to be a way to list all projects, is that right ? The endpoints that I think would be really useful and I’m not seeing them in the docs are: List Projects, Create Project, Create Branch.

Any thoughts would be greatly appreciated.

Best,

Bruno.