diff --git a/jjb/comac-in-a-box-github.yaml b/jjb/comac-in-a-box-github.yaml
new file mode 100644
index 0000000..60eeec0
--- /dev/null
+++ b/jjb/comac-in-a-box-github.yaml
@@ -0,0 +1,63 @@
+# COMAC in a box test for the omec projects on github
+
+- job-template:
+    id: 'omec-comac-in-a-box'
+    name: 'omec_{project}_comac-in-a-box'
+    project-type: pipeline
+
+    pipeline-script: 'comac-in-a-box-github.groovy'
+
+    description: |
+      Automated build on AMI executor using {pipeline-script}. <br /><br />
+      Created from job-template {id} from ci-management/jjb/comac-in-a-box-github.yaml <br />
+      Created by Jeremy Ronquillo, jeremyr@opennetworking.org <br />
+      Copyright (c) 2020 Open Networking Foundation (ONF)
+
+    properties:
+      - cord-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+          artifact-num-to-keep: '{artifact-num-to-keep}'
+      - github:
+          url: 'https://github.com/{github-organization}/{project}'
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: '{build-timeout}'
+          jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+    parameters:
+      - string:
+          name: buildNode
+          default: '{build-node}'
+          description: 'Name of the Jenkins executor node to run the job on'
+
+      - string:
+          name: project
+          default: '{project}'
+          description: 'Name of the project'
+
+      - string:
+          name: branch
+          default: '$ghprbTargetBranch'
+          description: 'Replace value to test manually.'
+
+      - string:
+          name: ghprbPullId
+          default: '$ghprbPullId'
+          description: 'GitHub Pull-Request builder value. Delete default value to test manually.'
+
+      - string:
+          name: ghprbActualCommit
+          default: '$ghprbActualCommit'
+          description: 'GitHub Pull-Request builder value. Delete default value to test manually.'
+
+    triggers:
+      - cord-infra-github-pr-trigger:
+          github_pr_org_list: '{obj:github_pr_org_list}'
+          github_pr_auth_id: '{github_pr_auth_id}'
+          status_context: 'CORD Jenkins - COMAC-in-a-box Verification'
+
+    concurrent: false
+
+    project-type: pipeline
+    dsl: !include-raw-escape: pipeline/{pipeline-script}
diff --git a/jjb/omec-ci.yaml b/jjb/omec-ci.yaml
index 4b2cdca..4445543 100644
--- a/jjb/omec-ci.yaml
+++ b/jjb/omec-ci.yaml
@@ -55,6 +55,8 @@
           build-timeout: 30
           docker-repo: 'omecproject'
           build-node: 'ubuntu16.04-basebuild-4c-8g'
+      - 'omec-comac-in-a-box':
+          build-node: 'comac_in_a_box'
 
 # for c3po
 - project:
@@ -91,6 +93,8 @@
           build-timeout: 30
           docker-repo: 'omecproject'
           build-node: 'ubuntu16.04-basebuild-8c-15g'
+      - 'omec-comac-in-a-box':
+          build-node: 'comac_in_a_box'
 
 # for openmme
 - project:
@@ -123,6 +127,8 @@
           build-timeout: 30
           docker-repo: 'omecproject'
           build-node: 'ubuntu16.04-basebuild-1c-2g'
+      - 'omec-comac-in-a-box':
+          build-node: 'comac_in_a_box'
 
 # for nucleus
 - project:
@@ -151,6 +157,8 @@
       - 'omec-reuse':
           pipeline-file: 'omec-reuse-scan.groovy'
           build-node: 'omec-qa'
+      - 'omec-comac-in-a-box':
+          build-node: 'comac_in_a_box'
 
 # for freediameter
 - project:
diff --git a/jjb/pipeline/comac-in-a-box-github.groovy b/jjb/pipeline/comac-in-a-box-github.groovy
new file mode 100644
index 0000000..f2791ec
--- /dev/null
+++ b/jjb/pipeline/comac-in-a-box-github.groovy
@@ -0,0 +1,157 @@
+// Copyright 2020-present Open Networking Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// comac-in-a-box-github build+test
+// steps taken from https://guide.opencord.org/profiles/comac/install/ciab.html
+
+docker_tag = ""
+abbreviated_commit_hash = ""
+
+pipeline {
+
+  /* no label, executor is determined by JJB */
+  agent {
+    label "${params.buildNode}"
+  }
+
+  options {
+    timeout(time: 1, unit: 'HOURS')
+  }
+
+  environment {
+
+    omec_cp = "$HOME/cord/helm-charts/omec/omec-control-plane/values.yaml"
+    omec_dp = "$HOME/cord/helm-charts/omec/omec-data-plane/values.yaml"
+  }
+
+  stages {
+    stage ("Environment Setup"){
+      steps {
+        sh label: 'Clean Logs', script: """
+          rm -rf logs/
+          """
+        sh label: 'Run COMAC-in-a-box reset-test', script: """
+          echo $HOME
+          cd $HOME/automation-tools/comac-in-a-box/
+          sudo make reset-test
+          """
+        sh label: 'Cleanup Docker Images', script: '''
+          sudo docker rmi -f $(sudo docker images --format '{{.Repository}} {{.ID}}' | grep 'none' | awk '{print $2}') || true
+          sudo docker rmi -f $(sudo docker images --format '{{.Repository}}:{{.Tag}}' | grep 'openmme') || true
+          sudo docker rmi -f $(sudo docker images --format '{{.Repository}}:{{.Tag}}' | grep 'ngic') || true
+          sudo docker rmi -f $(sudo docker images --format '{{.Repository}}:{{.Tag}}' | grep 'c3po') || true
+          '''
+        sh label: 'helm-charts Repo Fresh Clone', script: """
+          cd $HOME/cord/
+          sudo rm -rf helm-charts/
+          git clone https://gerrit.opencord.org/helm-charts
+          """
+      }
+    }
+
+    stage ("Build Local Docker Image"){
+      steps {
+        script {
+          if (params.ghprbPullId == ""){
+            docker_tag = "jenkins_debug"
+          } else {
+            pull_request_num = "PR_${params.ghprbPullId}"
+            abbreviated_commit_hash = params.ghprbActualCommit.substring(0, 7)
+            docker_tag = "${params.branch}-${pull_request_num}-${abbreviated_commit_hash}"
+          }
+        }
+        sh label: 'Clone repo', script: """
+          rm -rf ${params.project}
+          if [ "${params.project}" = "c3po" ]
+          then
+            git clone https://github.com/omec-project/${params.project} --recursive
+          else
+            git clone https://github.com/omec-project/${params.project}
+          fi
+          cd ${params.project}
+          if [ ! -z "${params.ghprbPullId}" ]
+          then
+            echo "Checking out GitHub Pull Request: ${params.ghprbPullId}"
+            git fetch origin pull/${params.ghprbPullId}/head && git checkout FETCH_HEAD
+          else
+            echo "GERRIT_REFSPEC not provided. Checking out target branch."
+            git checkout ${params.branch}
+          fi
+          sudo make DOCKER_TAG=${docker_tag} docker-build
+        """
+
+      }
+    }
+
+    stage ("Change Helm-Charts Docker Tags"){
+      steps {
+        sh label: 'Change Helm-Charts Docker Tags', script: """
+          if [ "${params.project}" = "c3po" ]
+          then
+            sed -i "s;hssdb: docker.*;hssdb: \\"c3po-hssdb:${docker_tag}\\";" ${omec_cp}
+            sed -i "s;hss: .*;hss: \\"c3po-hss:${docker_tag}\\";" ${omec_cp}
+            echo "Changed hssdb and hss tag: ${docker_tag}"
+          elif [ "${params.project}" = "openmme" ]
+          then
+            sed -i "s;mme: .*;mme: \\"openmme:${docker_tag}\\";" ${omec_cp}
+            echo "Changed mme tag: ${docker_tag}"
+          elif [ "${params.project}" = "Nucleus" ]
+          then
+            sed -i "s;mme: .*;mme: \\"openmme:${docker_tag}\\";" ${omec_cp} # nucleus shares the same docker name as openmme.
+            echo "Changed mme tag: ${docker_tag}"
+          elif [ "${params.project}" = "ngic-rtc" ]
+          then
+            sed -i "s;spgwc: .*;spgwc: \\"ngic-cp:${docker_tag}\\";" ${omec_cp}
+            sed -i "s;spgwu: .*;spgwu: \\"ngic-dp:${docker_tag}-debug\\";" ${omec_dp}
+            echo "Changed spgwc and spgwu tag: ${docker_tag}"
+          else
+            echo "The project ${params.project} is not supported. Aborting job."
+            exit 1
+          fi
+
+          echo "omec_cp:"
+          cat "${omec_cp}"
+
+          echo "omec_dp:"
+          cat "${omec_dp}"
+        """
+      }
+    }
+
+    stage ("Run COMAC-in-a-box"){
+      steps {
+        script{
+          try{
+            sh label: 'Run Makefile', script: """
+              cd $HOME/automation-tools/comac-in-a-box/
+              sudo make reset-test
+              sudo make test
+              """
+          } finally {
+            sh label: 'Archive Logs', script: '''
+              mkdir logs
+              mkdir logs/pods
+              kubectl get pods -n omec > logs/kubectl_get_pods_omec.log
+              for pod in $(kubectl get pods -n omec | awk '{print $1}' | tail -n +2)
+              do
+                kubectl logs -n omec $pod --all-containers > logs/pods/$pod.log || true
+              done
+            '''
+            archiveArtifacts artifacts: "logs/**/*.log", allowEmptyArchive: true
+          }
+        }
+      }
+    }
+  }
+}
