Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Manage Scoped Application Versions

nealratner
Mega Expert

Has anyone figured out how to have different versions of an application?   From the Application information, you can change the version from 1.0.0 to 1.0.1 or 1.2.0, but how are the changes tracked (if at all)?   I am linking the app to GitHub, so i can see versions there, but I don't really see where that exists in SN.   Creating a new application environment for a version change doesn't seem right, so I appreciate any thoughts or suggestions anyone can offer. !

3 REPLIES 3

phsdm
Giga Expert

My memory is a bit hazy on this, but I believe you can load any tagged branch/version into your instance.   When you check it back in, you use the source control system's branch/tagging functionality to track it.   As I remember, for a toy application, switching to a different branch didn't even give me enough time to yawn, let alone pour another tea.



This does mean you can't work on two branches/versions simultaneously in one instance.   I suppose this is an issue if you have a huge application with many supported versions.   But in a world of TDD and rapid release, how many active branches do you need?   If there are multiple branches, are there multiple maintainers working on one code base simultaneously?   If that is the case, you probably need multiple developer instances.   I find that it's easy to maintain separations of concerns in ServiceNow, making forks and branches unnecessary.



To misquote the Talking Heads, "This ain't no party, this ain't no WebSphere, this ain't no fooling around; This ain't no Mudd Club, or vN.Back.3, I ain't got time for that now..."


niedziel1
ServiceNow Employee
ServiceNow Employee

The application versions you are asking about are used when installing applications from the ServiceNow application repository (not a GitHub repository).   This screenshot is a bit old but it still conveys the idea.   In this image you can see that version 1.0 of the ME1 application is available to be installed on the instance (click the Install button).     If more than 1 version of the ME1 application existed, you could select which version to install. Version 2.0 of the ME2 application is installed but version 3.0 is available should you wish to update (click the Update button).



AppRepoVersions.png


Thank you for that input.   I was more focused on the development side of the application studio and how to internally develop and manage multiple versions.   Ultimately, I figured out that you can just switch branches from GitHub to manage the different versions.   You still have to uninstall the current version, but I don't really see any other way.