Add a webMethods package to a git repository using Service Designer

Introduction

Versioning your assets in webMethods Designer or webMethods Service Designer is nearly the same as with every eclipse project. But as we are always working with a server, 2 additional steps are needed. In this article I'll show you how to get a webMethods package into git or github. If you want to get a package already versioned in git into your workspace, please have a look at this article.

This will also work with local service development of Software AG Designer for webMethods.

Bring your package into GIT

In Package Navigator Right click on your package and select Create Local Service Development Project.

Select your repository from the dropdown. If there is none available, go to the git perspective and create or clone a repository. make sure to select the correct path for your package in the field Path within repository. Click Browse to select the folder from the file system. As most projects consist of more than one package it is best practise to have a dedicated folder within the project to hold the IS packages.

Review your settings and click Finish.

Wait until Designer opens the Git Staging view. All the files and folders from the package will be shown as unstaged changed. Add them all to staged.

Enter a commit message and click Commit and Push.

Close the commit confirmation.

The package will be displayed with a circle in the Package Navigator indicating it is under version control.

Changed assets are displayed with a >.

To stage, commit and push changes just use the usual context menus from Package Navigator, e.g. Team- Commit.

For assets shown in the Package navigator the corresponding files will automatically be staged. Only when adding files manually, e.g. into the ressources or templates directories of the package you need to handle them directly from Package Explorer.

If you want to use the graphical compare for webMethods assets, you need to use the specific context menu item Compare Element(s) With.

E.g. choose Compare Element(s) With - Revision and select the Head Revision.

If you made changes to your local source, you will see a graphical diff of the asset.

image.png

image.png

image.png

image.png

Hi Martin - which version of SAG Designer did you use?

Your article is dated 2019. Using Software AG Designer 10.1 (its ‘About’ panel says: Copyright © 2006 - 2020 Software AG, Darmstadt), I do not see a ‘Create Local Service Development Project’ option.

If you want to know more about packages refer to

webMethods packages from a developers perspective

Thanks to the pointer John – good article.

I checked Designer 10.11 trial, and it does have the ‘Create Local Service Development Project’ option. I use Designer 10.1 which does not.

Do you think I should bite the bullet and import in IS packages into a Git repository manually? Do you reckon Designer 10.1 has decent support for Git in Flow development?

I’m not completely sure, when the vcs integration was introduced, but I’m quite sure it was before the 10.x versions and therefore should be available in 10.1. If importing a project from a VCS, for the context menu Move project to IS to be visible, there are some prerequisites to be met:

  • the package must not yet be an IS package but just an eclipse project.
  • the eclipse project file must have the nature com.softwareag.is.vcsintegration.nature

e.g.

	<natures>
		<nature>com.softwareag.is.vcsintegration.nature</nature>
		<nature>org.eclipse.jdt.core.javanature</nature>
	</natures>

the vcsintegration nature is usually added by designer, but it isn’t there if the package was versioned manually.

For the other way round (Create local development project): Perhaps your package already has the nature but is not present in the GIT repository, so you could check if this nature is in the project file and remove it.

Putting into git manually is no problem in my experience, in fact I quite often use the eclipse GIT plugin and external tools in parallel quite often depending on my needs. Quite often the git command line is more effective.
As all git information (SVN as well) are in the files, this works quite fine. Only thing to check if adding outside Designer is checking/adding above mentioned nature to the eclipse project file.

Thanks for the pointers Martin.

1 Like

Hi, I have a question about IS package build using ant script, inside my git repository I have a folder called packages under the packages I have all my assets let’s say packageA, packageB and so if my packes in the version control system GIT how can I build only changed package inside my git repository?

Hi,
this is about adding a package to a git repository, not about Asset Build Environment.
What should a build process inside a GIT repository do?
Please post questions not related to this specific article into the forums, there you have a much higher chance of replies.
Regards
Martin

1 Like