You are on page 1of 7

KIE-WORKBENCH AND GITHUB INTEGRATION

The main intention of this integration is to ensure that we maintain versioning for
rules in GitHub. Please note that each one needs to have their respective GITHUB
account created via registration on their site.

PRELUDE
1) What is GIT?
GIT is a distributed version control system. Most of us might be familiar with
SVN or TFS. GIT is also similar to that but there are lots of advantages to GIT
than the traditional version control system.

2) What do we need to integrate KIE-Workbench with Github?


Projects defined in KIE-workbench are typical maven based projects contains
drool resources like (DRL,DSL,Guided Tables,etc..). These projects having
versioning ability as they use GIT internally within KIE-Workbench. But all the
developers are working on a central KIE workbench and we would like to de-
centralize it for better flexibility so that each developer can test rules on their
respective systems.

3) What is GitHub?
GitHub is a SaaS provider of GIT repositories. They provided a web based UI
for viewing repositories.

4) What are we exactly doing in this integration?


Firstly, all the rules have been moved into GitHub. Now, GitHub is where we
would be maintaining the drools project which was previously maintained in
KIE-workbench. The next step would be sync the drools project between the
GitHub and the local KIE-workbench. That is what we will achieve in the rest
of the document.

PRE-REQUISISTES
1) JDK AND JRE 1.7+
2) MAVEN 3.0+
3) JBOSS EAP 6.4
4) KIE-WORKBENCH .war
5) GIT (COMMAND LINE AND UI)
6) Account on GITHUB

CREDENTIALS

Whenever you are using use same credential which we created in Git Hub.
HIGHLEVEL STEPS
1) Clone the repository onto your local KIE workbench.
2) Clone the repository onto your local file system.
3) Make changes to the rules in your KIE workbench.
4) Download the rules artifact and deploy it in the maven repository.
5) Test the rules in your respective UCMP/USFN application on your local system.
6) Once testing is done, pull the changes from KIE-workbench to the local file
system GIT repository
7) Pull changes from GITHUB repository onto your local file system repository. At
this stage, your local filesystem GIT repository contains changes made in
local KIE workbench and also changes checked in by others in the GITHUB
repository.
8) Now, Push the changes from local file system repository to the GITHUB
repository.
9) Check if the changes are reflected in the GITHUB repository. For a picture
representation look at the below WORKFLOW diagram

WORKFLOW

KIE-Workbench 1.a Clone Repository(One time activity)


(Make changes to rules) Github

2
Clone Repository(One time
activity)
Pull

Pull
1.b

3
Local Workspace
Push

STEPS
1) Before starting we
2) Start the JBOSS
3) Login to your respective local KIE-Workbench using the following URL
http://localhost:8080/kie-drools-wb-distribution-wars-6.2.0.Final-eap6_4
The credentials are user1 and user123!

And clone the repository from GITHUB onto your local KIE workbench by
following the screenshot.

The Repository Name should be USFNRepo


If the organizational unit is not existing create a new one with name Unisys
The GIT URL is https://github.com/UGSI/UCMP_BPM.git
Use the same credentials as your respective GITHUB credentials
The repository has been cloned from GITHUB onto your respective KIE
workbench as shown above.

4) Clone the GITHUB repository onto your local system too. Create the folder
path as shown in the below screenshot. The GIT CMD line app has to be
opened.
5) Now the local repository on the file system should communicate with two
remote repositories namely
a. KIE Workbench repository
b. GitHub repository (this linking has been done as we had cloned it from
GitHub repository)
We need to link the local filesystem repository with the local KIE
workbench repository

6) In the above screenshot, if you observe, when we run the command git
remote it shows that it has been linked to two repositories namely
origin(which is GITHUB) and kie-wb-local(which is local KIE workbench)

7) Now it is time to make some changes to the rules on your local KIE
workbench. I have added a comment in the below screenshot. But you could
make changes to any of the drools resources(DRL,DSL,Guided rules).
8) This Step is not Required this is for your knowledge
Build and deploy the drools project. The artifact will get created in your
respective maven repository. Now we have to make the UCMP ear pick up this
artifact. This can be done by firing the above web service.
A POST request with the following URL and JSON payload should be fired.
http://ustr-erl-5912.na.uis.unisys.com:8080/ucmpws/rest/bpm/deploy

{"groupId":"com.unisys.ucmp","artifactId":"facsproject","version":"LATEST"}
Please ensure that the payload should match with the values present in the
properties file.

9) Once validated and tested, pull the changes from the KIE workbench to the
local file system GIT repository.

10) Pull the changes if any from GITHUB repository so that we get the
changes made by others.
In this case, there were not changes to pull

11) Before pushing always Pull the changes from GITHUB repository then
you can merge your as well as other changes to your local. Then only push
changes from your local file system GIT repository to the GITHUB repository.

CAVEATS
In the JBOSS deployments, please use the latest ucmp.ear. The same can be
fetched from one of the VMs.