Build Configuration Set Commands - project-ncl/pnc-cli GitHub Wiki
Below is a list of commands pertaining to Build Configuration Sets on PNC. A Build Configuration Set is a grouping of Build Configurations that should be associated. Many operations that can be performed on a single Build Configuration can be performed on the set as a whole.
#List of commands#
- add-build-configuration-to-set
- build-set
- create-build-configuration-set
- delete-build-configuration-set
- get-build-configuration-set
- list-build-configuration-sets
- list-build-configurations-for-set
- list-build-records-for-set
- remove-build-configuration-from-set
- update-build-configuration-set
###add-build-configuration-to-set### Add a Build Configuration as a member of the specified existing Build Configuration Set.
#####Required Parameters##### This command requires one of the following (but not both):
- Set ID (-sid / --set-id): ID of the Build Configuration Set to add the Build Configuration to.
- Set Name (-sn / --set-name): Name of the Build Configuration Set to add the Build Configuration to.
This command requires one of the following (but not both):
- Config ID (-cid / --config-id): ID of the Build Configuration to add to the Build Configuration Set.
- Config Name (-cn / --config-name): Name of the Build Configuration to add to the Build Configuration Set.
[[thauser] [16:40:35] pnc-cli (master)]$pnc add-build-configuration-to-set -cid 1 -sn "Fabric Build Group"
[[thauser] [16:40:48] pnc-cli (master)]$pnc get-build-configuration-set -n "Fabric Build Group"
{'build_configuration_ids': [1, 4],
'id': 2,
'name': 'Fabric Build Group',
'product_version_id': 1}
###build-set### Build all Build Configurations in the specified Build Configuration Set, according to their configured dependencies. Returns a Build Record Set JSON payload.
#####Required Parameters##### This command requires one of the following (but not both):
- Set ID (-sid / --set-id): ID of the Build Configuration Set to build.
- Set Name (-sn / --set-name): Name of the Build Configuration Set to build.
[[thauser] [16:57:01] pnc-cli (master)]$pnc build-set -i 2
{'build_configuration_ids': [1, 4],
'id': 2,
'name': 'Fabric Build Group',
'product_version_id': 1}
[[thauser] [16:41:00] pnc-cli (master)]$pnc build-set -i 2
{'build_config_set_record_id': None,
'build_configuration_audited': {'build_script': 'mvn clean deploy -DskipTests=true',
'creation_time': None,
'description': 'Test build config for project newcastle',
'environment': {'attributes': {u'JDK': '1.7.0',
u'OS': 'Linux'},
'build_type': 'JAVA',
'description': 'Basic Java and Maven Environment',
'id': 1,
'image_id': '12345678',
'image_repository_url': None,
'name': 'Demo Environment 1',
'system_image_repository_url': None},
'environment_id': 1,
'id': 1,
'id_rev': {'field_handler': None,
'id': 1,
'rev': 1},
'last_modification_time': None,
'name': 'pnc-1.0.0.DR1',
'project': {'configuration_ids': [1],
'description': 'Example Project for Newcastle Demo',
'id': 1,
'issue_tracker_url': None,
'license_id': None,
'name': 'Project Newcastle Demo Project 1',
'project_url': 'https://github.com/project-ncl/pnc'},
'project_id': 1,
'repositories': None,
'rev': 1,
'scm_mirror_repo_url': None,
'scm_mirror_revision': None,
'scm_repo_url': 'https://github.com/project-ncl/pnc.git',
'scm_revision': '*/v0.2'},
'build_configuration_id': 1,
'build_configuration_name': None,
'build_configuration_rev': None,
'build_content_id': None,
'build_environment_id': None,
'end_time': None,
'external_archive_id': None,
'id': 3,
'live_logs_uri': None,
'product_milestone_id': None,
'scm_repo_url': None,
'scm_revision': None,
'start_time': None,
'status': 'NEW',
'submit_time': '2016-05-10',
'user': {'email': '[email protected]',
'first_name': 'Demo First Name',
'id': 1,
'last_name': 'Demo Last Name',
'username': 'demo-user'},
'user_id': 1,
'username': 'demo-user'}
{'build_config_set_record_id': None,
'build_configuration_audited': {'build_script': 'mvn clean deploy -DskipTests=true',
'creation_time': None,
'description': 'Test build for Fabric8',
'environment': {'attributes': {u'JDK': '1.7.0',
u'OS': 'Linux'},
'build_type': 'JAVA',
'description': 'Basic Java and Maven Environment',
'id': 1,
'image_id': '12345678',
'image_repository_url': None,
'name': 'Demo Environment 1',
'system_image_repository_url': None},
'environment_id': 1,
'id': 4,
'id_rev': {'field_handler': None,
'id': 4,
'rev': 1},
'last_modification_time': None,
'name': 'io-fabric8-2.2-SNAPSHOT',
'project': {'configuration_ids': [4],
'description': 'Integration platform for working with Apache ActiveMQ, Camel, CXF and Karaf in the cloud',
'id': 4,
'issue_tracker_url': 'https://github.com/fabric8io/fabric8/issues',
'license_id': None,
'name': 'Fabric8',
'project_url': 'https://github.com/fabric8io/fabric8'},
'project_id': 4,
'repositories': None,
'rev': 1,
'scm_mirror_repo_url': None,
'scm_mirror_revision': None,
'scm_repo_url': 'https://github.com/fabric8io/fabric8.git',
'scm_revision': None},
'build_configuration_id': 4,
'build_configuration_name': None,
'build_configuration_rev': None,
'build_content_id': None,
'build_environment_id': None,
'end_time': None,
'external_archive_id': None,
'id': 4,
'live_logs_uri': None,
'product_milestone_id': None,
'scm_repo_url': None,
'scm_revision': None,
'start_time': None,
'status': 'NEW',
'submit_time': '2016-05-10',
'user': {'email': '[email protected]',
'first_name': 'Demo First Name',
'id': 1,
'last_name': 'Demo Last Name',
'username': 'demo-user'},
'user_id': 1,
'username': 'demo-user'}
###create-build-configuration-set### Create a new Build Configuration Set.
#####Required Parameters#####
- Name: Name for the new Build Configuration Set.
#####Optional Parameters#####
- Product Version ID (-pvi / --product-version-id): ID of a Product Version ID to associate this Build Configuration Set with.
- Build Configuration IDs (-bcs / --build-configuration-ids): Space separated list of Build Configuration IDs that should be members of the initial Build Configuration Set.
[[thauser] [17:00:24] pnc-cli (master)]$pnc create-build-configuration-set "test set" -pvi 1 -bcs 1 2 3
{'build_configuration_ids': [1, 2, 3],
'id': 3,
'name': 'test set',
'product_version_id': 1}
###delete-build-configuration-set### Remove a Build Configuration Set. If there are any existing Build Record Sets associated with the specified Set (the Set has been built at least once), deletion will not be possible.
#####Required Parameters##### This command requires one of the following (but not both):
- ID (-i / --id): ID of the Build Configuration Set to delete.
- Name (-n / --name): Name of the Build Configuration Set to delete.
[[thauser] [17:00:36] pnc-cli (master)]$pnc delete-build-configuration-set -n "test set"
[[thauser] [17:02:45] pnc-cli (master)]$pnc get-build-configuration-set -n "test set"
2016-05-10 17:02:55,758 ERROR There is no BuildConfigurationSet with name test set.
###get-build-configuration-set### Retrieve information about a specific Build Configuration Set.
#####Required Parameters##### This command requires one of the following (but not both):
- ID (-i / --id): ID of the Build Configuration Set to retrieve.
- Name (-n / --name): Name of the Build Configuration Set to retrieve.
[[thauser] [12:31:03] pnc-cli (master)]$pnc get-build-configuration-set -i 1
{'build_configuration_ids': [1, 2, 3],
'id': 1,
'name': 'Example Build Group 1',
'product_version_id': 1}
###list-build-configuration-sets### List all Build Configuration Sets in PNC.
#####Optional Parameters#####
- Page Size (-p / --page-size): Defines the amount of results to be returned. Default 200.
- Sort (-s / --sort): RSQL Query that defines the ordering of the returned Sets
- Query (-q): RSQL Query that defines which sets should be returned.
[[thauser] [12:39:38] pnc-cli (master)]$pnc list-build-configuration-sets
{'build_configuration_ids': [1, 2, 3],
'id': 1,
'name': 'Example Build Group 1',
'product_version_id': 1}
{'build_configuration_ids': [1, 4],
'id': 2,
'name': 'Fabric Build Group',
'product_version_id': 1}
{'build_configuration_ids': [],
'id': 4,
'name': 'pnc-cli-test-PU5KBKJC1T-config-build-set-exec-test',
'product_version_id': None}
{'build_configuration_ids': [],
'id': 13,
'name': 'pnc-cli-test-CNEHH6B741',
'product_version_id': None}
{'build_configuration_ids': [],
'id': 15,
'name': 'pnc-cli-test-RRQHAUCRAL-running-builds-test',
'product_version_id': None}
[[thauser] [12:39:44] pnc-cli (master)]$pnc list-build-configuration-sets -q id==2
{'build_configuration_ids': [1, 4],
'id': 2,
'name': 'Fabric Build Group',
'product_version_id': 1}
Using query:
[[thauser] [12:40:09] pnc-cli (master)]$pnc list-build-configuration-sets -q name==pnc-cli-test-PU5KBKJC1T-config-build-set-exec-test
{'build_configuration_ids': [],
'id': 4,
'name': 'pnc-cli-test-PU5KBKJC1T-config-build-set-exec-test',
'product_version_id': None}
###list-build-configurations-for-set### List all Build Configurations which are a member of a specific Build Configuration Set.
#####Required Parameters##### This command requires one of the following (but not both):
- ID (-i / --id): ID of the Build Configuration Set to retrieve.
- Name (-n / --name): Name of the Build Configuration Set to retrieve.
#####Optional Parameters#####
- Page Size (-p / --page-size): Defines the amount of results to be returned. Default 200.
- Sort (-s / --sort): RSQL Query that defines the ordering of the returned Configurations
- Query (-q): RSQL Query that defines which Configurations should be returned.
[[thauser] [14:24:18] pnc-cli (master)]$pnc list-build-configurations-for-set -i 1
{'archived': False,
'build_script': 'mvn clean deploy -DskipTests=true',
'build_status': 'NONE',
'creation_time': '2016-05-11',
'dependency_ids': [],
'description': 'Test build config for project newcastle',
'environment': {'attributes': {u'JDK': '1.7.0', u'OS': 'Linux'},
'build_type': 'JAVA',
'description': 'Basic Java and Maven Environment',
'id': 1,
'image_id': '12345678',
'image_repository_url': None,
'name': 'Demo Environment 1',
'system_image_repository_url': None},
'id': 1,
'internal_scm': None,
'internal_scm_revison': None,
'last_modification_time': '2016-05-11',
'name': 'pnc-1.0.0.DR1',
'product_version_id': 1,
'project': {'configuration_ids': [1],
'description': 'Example Project for Newcastle Demo',
'id': 1,
'issue_tracker_url': None,
'license_id': None,
'name': 'Project Newcastle Demo Project 1',
'project_url': 'https://github.com/project-ncl/pnc'},
'repositories': None,
'scm_mirror_repo_url': None,
'scm_mirror_revision': None,
'scm_repo_url': 'https://github.com/project-ncl/pnc.git',
'scm_revision': '*/v0.2'}
{'archived': False,
'build_script': 'mvn clean deploy -DskipTests=true',
'build_status': 'NONE',
'creation_time': '2016-05-11',
'dependency_ids': [],
'description': 'Test config for JBoss modules build master branch.',
'environment': {'attributes': {u'JDK': '1.7.0', u'OS': 'Linux'},
'build_type': 'JAVA',
'description': 'Basic Java and Maven Environment',
'id': 1,
'image_id': '12345678',
'image_repository_url': None,
'name': 'Demo Environment 1',
'system_image_repository_url': None},
'id': 2,
'internal_scm': None,
'internal_scm_revison': None,
'last_modification_time': '2016-05-11',
'name': 'jboss-modules-1.5.0',
'product_version_id': 1,
'project': {'configuration_ids': [2],
'description': 'JBoss Modules Project',
'id': 2,
'issue_tracker_url': 'https://issues.jboss.org/browse/MODULES',
'license_id': None,
'name': 'JBoss Modules',
'project_url': 'https://github.com/jboss-modules/jboss-modules'},
'repositories': None,
'scm_mirror_repo_url': None,
'scm_mirror_revision': None,
'scm_repo_url': 'https://github.com/jboss-modules/jboss-modules.git',
'scm_revision': '9e7115771a791feaa5be23b1255416197f2cda38'}
{'archived': False,
'build_script': 'mvn clean deploy -DskipTests=true',
'build_status': 'NONE',
'creation_time': '2016-05-11',
'dependency_ids': [2],
'description': 'Test build for jboss java servlet api',
'environment': {'attributes': {u'JDK': '1.7.0', u'OS': 'Linux'},
'build_type': 'JAVA',
'description': 'Basic Java and Maven Environment',
'id': 1,
'image_id': '12345678',
'image_repository_url': None,
'name': 'Demo Environment 1',
'system_image_repository_url': None},
'id': 3,
'internal_scm': None,
'internal_scm_revison': None,
'last_modification_time': '2016-05-11',
'name': 'jboss-servlet-spec-api-1.0.1',
'product_version_id': 2,
'project': {'configuration_ids': [3],
'description': 'JavaEE Servlet Spec API',
'id': 3,
'issue_tracker_url': 'https://issues.jboss.org/browse/JBEE',
'license_id': None,
'name': 'JBoss JavaEE Servlet Spec API',
'project_url': 'https://github.com/jboss/jboss-servlet-api_spec'},
'repositories': None,
'scm_mirror_repo_url': None,
'scm_mirror_revision': None,
'scm_repo_url': 'https://github.com/jboss/jboss-servlet-api_spec.git',
'scm_revision': None}
###list-build-records-for-set### List all Build Records for a specified Build Configuration Set.
#####Required Parameters##### This command requires one of the following (but not both):
- ID (-i / --id): ID of the Build Configuration Set to retrieve Build Records for.
- Name (-n / --name): Name of the Build Configuration Set to retrieve Build Records for.
#####Optional Parameters#####
- Page Size (-p / --page-size): Defines the amount of results to be returned. Default 200.
- Sort (-s / --sort): RSQL Query that defines the ordering of the returned Configurations
- Query (-q): RSQL Query that defines which Configurations should be returned.
TODO
###remove-build-configuration-from-set### Remove a Build Configuration from membership of the specified Build Configuration Set.
#####Required Parameters##### This command requires one of the following (but not both):
- Set ID (-sid / --set-id): ID of the Build Configuration Set to remove the Build Configuration from.
- Name (-sn / --set-name): Name of the Build Configuration Set to remove the Build Configuration from.
This command also requires one of the following (but not both):
- Config ID (-cid / --config-id): ID of the Build Configuration to remove.
- Config name (-cn / --config-name): Name of the Build Configuration to remove.
[[thauser] [14:35:29] pnc-cli (master)]$pnc get-build-configuration-set -i 1
{'build_configuration_ids': [1, 2, 3],
'id': 1,
'name': 'Example Build Group 1',
'product_version_id': 1}
[[thauser] [14:37:06] pnc-cli (master)]$pnc remove-build-configuration-from-set -sid 1 -cid 1
[[thauser] [14:37:18] pnc-cli (master)]$pnc get-build-configuration-set -i 1
{'build_configuration_ids': [2, 3],
'id': 1,
'name': 'Example Build Group 1',
'product_version_id': 1}
###update-build-configuration-set### Update an existing Build Configuration Set with new information.
#####Required Parameters#####
- ID (-i / --id): ID of the Build Configuration Set to update.
#####Optional Parameters#####
- Name (-n /--name): Update Name for the Build Configuration Set.
- Product Version ID (-pvi, --product-version-id): Updated Product Version ID to associate this Build Configuration Set with.
- Build Configuration IDs (-bcs / --build-configuration-ids): Space separated list of Build Configuration IDs that should be the only members of this Set.
[[thauser] [15:15:22] pnc-cli (master)]$pnc create-build-configuration-set "testerino" -pvi 1 -bcs 1 2 3
{'build_configuration_ids': [1, 2, 3],
'id': 5,
'name': 'testerino',
'product_version_id': 1}
[[thauser] [15:15:35] pnc-cli (master)]$pnc update-build-configuration-set 5 -bcs 5
[[thauser] [15:15:37] pnc-cli (master)]$pnc get-build-configuration-set -i 5
{'build_configuration_ids': [5],
'id': 5,
'name': 'testerino',
'product_version_id': 1}