API for managing CloudCode scripts and API hooks



  • Hello!

    Our problem is:

    We are unable now to implement continuous integration using Jenkins or Gitlab CI/CD because of the fact uploading CloudCode scripts requires human intervention using BrainCloud administration panel. The lack of features from this area also complicates our development process as our backend engineers need to manually update BrainCloud scripts, many times a day for testing new features and fixing bugs.

    For us those features are quite important and the lack of an API we can use to automate CloudCode deployment is one of the most mentioned weak point for BrainCloud when used in serious projects with substantial budgets.

    Solution

    We strongly need an API for managing CloudCode scripts. The API should include CRUD operations for managing CloudCode scripts, included but not limited to:

    • Script Upload
    • Script Delete
    • Script Update
    • Script Get
    • Scripts List
    • Script Get Info

    The upload/update/info functionality should also be able to operate on all script parameters:
    "scriptName", "clientCallable", "s2sCallable", "peerCallable", "scriptTimeout", "description", "parms", "version", and "updatedAt"

    A similar API should also expose all API hooks CRUD operations.

    Thank you for understanding!


  • brainCloud

    Hi Madallin,

    Short summary:

    1. I absolutely agree.
    2. We're working on it. 🙂

    That said, we are also working on a bunch of cloud code script improvements (a new bridge.include() operation to include other scripts, and the ability to organize scripts into folders) - which we want in place before the tool so that the toolchain properly accomodates them.

    [Side note - Internally we refer to 2020 as the "Year of the Builder". These cloud code improvements, together with the new Builder API and Tool, are a big part of that.]

    So our target is 4.7-4.8 - which are targeted for Sept & Nov respectively. That said, we are seeing if we can move that earlier some - but as you can expect there are some competing priorities and dependencies, so I can't promise anything on that.

    I can promise that it is coming though. In fact, I even have a snazzy diagram that describes our Cloud Code plans...
    Cloud Code Evolution.png

    So stick tight - it's coming! And thanks so much for the feedback - and for using brainCloud! 🙂

    Paul.



  • @Paul-Winterhalder Amazing news, choosing BC after GameSparks turned out to be a great decision especially when you guys listen to requests and provide features.

    @Madalin-Grigore-Enescu-0 If this is really causing waste of time; then What you can do is automate the browser via selenium and invoke it via CI/CD.



  • @Paul-Winterhalder That's good news! Thank you for your feedback and your detailed answer (as usual) 🙂
    @Ali-Raza Thank you for the advice, we are working on that but we would like to have the peace of mind any admin panel UI changes will not affect our deploy scripts in the future and we are looking out for a more permanent solution...

    Btw for the include other scripts feature we managed to handle the complexity of our project and improve code reuse by using a JavaScript packer. This way we can work on multiple files and pack everything at the end for deploy in separate single files...