Source Control and CI/CD Resources The Orlando release brought some major enhancements to ServiceNow’s source control integration and added some CI/CD capabilities in the form of automated testing and deployment APIs and IntegrationHub spokes. We’ve covered most of that on the blog, but recently there has been a lot more content published due to K20 and other factors. This article will detail that content. Developer Site Training Training on the ServiceNow Developer Site has used source control with GitHub for years to provide modular learning content.
Source Control Integration
Last year we spotlighted a way that ServiceNow developers can be part of Digital Ocean’s Hacktoberfest challenge. About a dozen people participated and earned themselves a sweet t-shirt. I personally love mine!
Points Thing The official project of the Developer Program for Hacktoberfest is Points Thing. This is a bot that lives on an instance and is responsible for managing the points assigned on the sn-devs Slack channel whenever you execute the @user++ syntax.
After Your Pull Request is Accepted Last week we posted information on how you can use ServiceNow projects to participate in Hacktoberfest. This involves some work server-side for the maintainer to be able to emulate the merging of GitHub pull requests. Let’s say you participated, submitted a pull request and it was accepted and merged into the main repository. Now what?
To reiterate slightly, you will have your own fork of the repository, and your ServiceNow instance is connected to your copy of the repository.
Source control integration was added as a feature to ServiceNow in the Geneva release. That increased by a wide margin the quality of development tools available to the ServiceNow developer. One could save code, easily move from instance to instance, backup personal developer instances, etc. One of the details of the implementation is that under the hood it is committing update sets. This complicates standard collaboration tools. GitHub pull requests and normal patch files assume that they are working on the text of code so when that text is really an XML payload, that presents a big challenge for diffing and merging.