diff --git a/jjb/metal3/projects.yml b/jjb/metal3/projects.yml
new file mode 100644
index 0000000..b024934
--- /dev/null
+++ b/jjb/metal3/projects.yml
@@ -0,0 +1,205 @@
+---
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019 Nordix 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+
+# Description:
+# ============
+# This file contains the list of JJB projects in metal3 category. Each project
+# corresponds to a github repository. Under each project's 'jobs' list defines the
+# jobs associated with that github repository. The job definitions can be found
+# in job_{job_id}.yml files in any of JJB include folders.
+
+- project:
+    name: 'nordix_dev_tools'
+    branch: '${{ghprbActualCommit}}'
+    ci_github_whitelist_org:
+    - nordix-metal3
+    jobs:
+    - linter_tests
+    - openstack_image_building
+    - docker_image_building
+    - update_nordix_artifacts
+    - update_nordix_repos
+    - openstack_node_image_building
+    - openstack_ipa_and_ironic_image_building
+    - metal3_ipa_and_ironic_image_building_test
+    - metal3_dev_tools_integration_test_centos
+    - metal3_dev_tools_integration_test_ubuntu
+    - artifactory_cleanup
+    repo:
+      org: "Nordix"
+      name: "metal3-dev-tools"
+    ci_github_jenkins_credentials_id: 'nordix-airship-ci-github-prod-token'
+    ci_ghprb_auth_id: 'e8a43847-46ff-42db-a5db-7366df0e4ee2'
+    ci_github_repo: 'https://github.com/Nordix/metal3-dev-tools.git'
+
+- project:
+    name: 'metal3io_project_infra'
+    branch: '${{ghprbActualCommit}}'
+    repo:
+      org: "metal3-io"
+      name: "project-infra"
+    ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
+    jobs:
+    - capm3_v1a4_integration_tests_centos
+    - capm3_v1a4_integration_tests_ubuntu
+    - capm3_v1a5_integration_tests_centos
+    - capm3_v1a5_integration_tests_ubuntu
+    - capm3_v1b1_integration_tests_centos
+    - capm3_v1b1_integration_tests_ubuntu
+    - feature_tests_ubuntu
+    - feature_tests_centos
+    - feature_tests_upgrade_ubuntu
+    - bml_integration_tests_centos
+    - keep_v1b1_test_ubuntu_alive
+    - keep_v1b1_test_centos_alive
+    - keep_v1a5_test_ubuntu_alive
+    - keep_v1a5_test_centos_alive
+
+- project:
+    name: 'metal3io_project_infra_cleanup'
+    repo:
+      org: "metal3-io"
+      name: "project-infra"
+    ci_github_pipeline: 'jenkins/jobs/integration_tests_clean.pipeline'
+    jobs:
+    - master_clean
+
+- project:
+    name: "metal3io_bmo"
+    repo:
+      org: "metal3-io"
+      name: "baremetal-operator"
+    jobs:
+    - capm3_v1a4_integration_tests_centos
+    - capm3_v1a4_integration_tests_ubuntu
+    - capm3_v1a5_integration_tests_centos
+    - capm3_v1a5_integration_tests_ubuntu
+    - capm3_v1b1_integration_tests_centos
+    - capm3_v1b1_integration_tests_ubuntu
+    - keep_v1b1_test_ubuntu_alive
+    - keep_v1b1_test_centos_alive
+    - keep_v1a5_test_ubuntu_alive
+    - keep_v1a5_test_centos_alive
+    - feature_tests_ubuntu
+
+- project:
+    name: "metal3io_ipam"
+    repo:
+      org: "metal3-io"
+      name: "ip-address-manager"
+    jobs:
+    - capm3_v1a4_integration_tests_centos
+    - capm3_v1a4_integration_tests_ubuntu
+    - capm3_v1a5_integration_tests_centos
+    - capm3_v1a5_integration_tests_ubuntu
+    - capm3_v1b1_integration_tests_centos
+    - capm3_v1b1_integration_tests_ubuntu
+    - keep_v1b1_test_ubuntu_alive
+    - keep_v1b1_test_centos_alive
+    - keep_v1a5_test_ubuntu_alive
+    - keep_v1a5_test_centos_alive
+
+- project:
+    name: "metal3io_metal3_dev_env"
+    jobs:
+    - capm3_v1a4_integration_tests_centos
+    - capm3_v1a4_integration_tests_ubuntu
+    - capm3_v1a4_master_integration_tests_centos
+    - capm3_v1a4_master_integration_tests_ubuntu
+    - capm3_v1a5_integration_tests_centos
+    - capm3_v1a5_integration_tests_ubuntu
+    - capm3_v1a5_master_integration_tests_centos
+    - capm3_v1a5_master_integration_tests_ubuntu
+    - capm3_v1b1_integration_tests_centos
+    - capm3_v1b1_integration_tests_ubuntu
+    - capm3_v1b1_master_integration_tests_centos
+    - capm3_v1b1_master_integration_tests_ubuntu
+    - feature_tests_ubuntu
+    - feature_tests_centos
+    - feature_tests_upgrade_ubuntu
+    - master_feature_tests_ubuntu
+    - master_feature_tests_centos
+    - master_feature_tests_upgrade_ubuntu
+    - bml_integration_tests_centos
+    - bml_master_integration_tests_centos
+    - keep_v1b1_test_ubuntu_alive
+    - keep_v1b1_test_centos_alive
+    - keep_v1a5_test_ubuntu_alive
+    - keep_v1a5_test_centos_alive
+
+    repo:
+      org: "metal3-io"
+      name: "metal3-dev-env"
+
+- project:
+    name: "metal3io_capi_m3"
+    repo:
+      org: "metal3-io"
+      name: "cluster-api-provider-metal3"
+    jobs:
+    - capm3_v1a4_integration_tests_centos
+    - capm3_v1a4_integration_tests_ubuntu
+    - capm3_v1a5_integration_tests_centos
+    - capm3_v1a5_integration_tests_ubuntu
+    - capm3_v1a5_e2e_tests_ubuntu
+    - capm3_v1a5_e2e_tests_centos
+    - capm3_v1a5_master_e2e_tests_ubuntu
+    - capm3_v1a5_master_e2e_tests_centos
+    - capm3_v1b1_integration_tests_centos
+    - capm3_v1b1_integration_tests_ubuntu
+    - capm3_v1b1_e2e_tests_centos
+    - capm3_v1b1_e2e_tests_ubuntu
+    - capm3_v1b1_e2e_upgrade_tests_ubuntu
+    - capm3_v1b1_master_e2e_tests_centos
+    - capm3_v1b1_master_e2e_tests_ubuntu
+    - keep_v1b1_test_ubuntu_alive
+    - keep_v1b1_test_centos_alive
+    - keep_v1a5_test_ubuntu_alive
+    - keep_v1a5_test_centos_alive
+
+
+- project:
+    name: "metal3io_ironic_image"
+    repo:
+      org: "metal3-io"
+      name: "ironic-image"
+    jobs:
+    - capm3_v1a4_integration_tests_centos
+    - capm3_v1a4_integration_tests_ubuntu
+    - capm3_v1a5_integration_tests_centos
+    - capm3_v1a5_integration_tests_ubuntu
+    - capm3_v1b1_integration_tests_centos
+    - capm3_v1b1_integration_tests_ubuntu
+    - keep_v1b1_test_ubuntu_alive
+    - keep_v1b1_test_centos_alive
+    - keep_v1a5_test_ubuntu_alive
+    - keep_v1a5_test_centos_alive
+
+- project:
+    name: "metal3io_ironic_ipa_downloader"
+    repo:
+      org: "metal3-io"
+      name: "ironic-ipa-downloader"
+    jobs:
+    - capm3_v1a4_integration_tests_ubuntu
+    - capm3_v1a5_integration_tests_ubuntu
+    - capm3_v1b1_integration_tests_centos
+    - capm3_v1b1_integration_tests_ubuntu
