Importing data from BMC Client Management 12.0 by using the REST Web API
This topic provides information about importing data from BMC Client Management (known before version 12.0 as BMC FootPrints Asset Core) by using the Representational State Transfer (REST) web API. For information about importing data by accessing the BMC Client Management database, see Importing data from BMC Client Management.
The Pentaho package for importing data from BMC Client Management by using the REST Web API is available only for BMC Remedyforce CMDB 2.0.
Important
If you have configured the integration with BMC Client Management OnDemand 12.0, you must import data only by using the package provided at https://communities.bmc.com/docs/DOC-32929.
Supported product versions
The Pentaho package for importing data from BMC Client Management by using the REST web API supports the following product versions:
- BMC Client Management 12.0
- BMC Client Management OnDemand 12.0
- BMC Remedyforce 20.14.01 or later
Note
This Pentaho package supports Pentaho Data Integration 5.0.1 or later.
KJB files in the Pentaho package
The Pentaho package includes different job (KJB) files for importing different types of CIs, such as computer systems and LAN endpoints. These job files are bundled with related files and provided to you in folders. The folder names correspond to CI types in BMC Remedyforce CMDB 2.0.
The following table provides information about the job files that you must run to import specific CI types.
Folder name | Job file | Description |
---|---|---|
Computer System | TransferAssetCoreCSinfotoCMDB.kjb | Transfers information about the |
LANEndPoints | TransferAssetCoreLANEndPointInfoto | Transfers information about the |
OS | TransferAssetCoreOSinfotoCMDB.kjb | Transfers information about the |
Processor | TransferAssetCoreProcessorInfoto | Transfers information about the |
Product | TransferAssetCoreProductInfotoCMDB.kjb | Transfers information about the Note: Depending on the organization size, |
Combined Jobs |
| The Combined Jobs folder contains the following job files:
|
Steps in the KJB files for importing data from BMC Client Management
All job (KJB) files for importing data from specific CI types include the series of steps and transformations that are listed in the following table.
Step | Description |
---|---|
Start | Starts the job to import data from BMC Client Management by using the REST web API. |
Check If Delta Timestamp File exists | Checks for a time stamp file. The Pentaho package utilizes a time stamp file to determine which records have been added or modified since the last time the job was run. This step is used for incremental import. If a time stamp file does not exist, the Create the initial timestamp file step is run. Otherwise, the Send Request for Export step is run. |
Create the initial timestamp file | Creates the time stamp file to record the time of import. This step is run only if you are importing for the first time or have deleted the existing time stamp file. |
Send Request For Export | Sends a REST web API request to the BMC Client Management server to initiate the export of data to a .zip file. The response from the BMC Client Management server provides either the location and name of the .zip file or an error code. |
Check Request REST Response | Checks whether the request for export was successful. If the request for export was successful, the Download File step is run. Otherwise, the Log Request Error from AC step is run. |
Log Request Error From AC | Logs an error if the response from the BMC Client Management server includes an error code. |
Download File | Downloads the .zip file that is stored on the BMC Client Management server. This file contains the data to be imported in BMC Remedyforce and is downloaded to the folder where you have saved the KJB files. If the .zip file is not available, this step is run again after the specified time interval, which is 10 seconds by default. The default number of times this step is rerun is 3. You can change the default values based on your requirements. |
Is File Downloaded | Checks whether the .zip file is downloaded to the computer on which the Pentaho package is running. |
Write File Not Available | Creates an error message file if the .zip file is not available for download even after the final run of the Download File step. |
Check Download REST Response | Checks for an error in downloading the file from the BMC Client Management server. If the file is successfully downloaded, the Import Records in Remedyforce CMDB step is run. Otherwise, the Log Download Error From AC step is run. |
Log Download Error From AC | Logs an error if the file is not downloaded successfully from the BMC Client Management server. |
Import Records In Remedyforce CMDB | Extracts records from the .zip file and imports data in BMC Remedyforce CMDB based on the specified mapping. |
Delete File From Server | Sends a request to the BMC Client Management server to delete the .zip file. |
Check Delete REST Response | Checks whether the file has been deleted successfully from the BMC Client Management server If the file is not deleted successfully, the Log Download Error From AC step is run. |
Log Download Error From AC | Logs an error if the file is not deleted successfully from the BMC Client Management server. |
Store the current time stamp | If the data is successfully imported, stores the time at which the data was imported to BMC Remedyforce. |
Prerequisites for importing data into BMC Remedyforce
From the BMC Communities website, you must download the Pentaho package for importing BMC Client Management data by using the REST Web API. To download the package, click https://communities.bmc.com/docs/DOC-32929.
Note
BMC recommends that you download the job files to the folder where you have unzipped the Pentaho Data Integration tool. Do not change the folder structure because doing so can interfere with the running of the batch files provided in the CombinedJobs folder.
Before importing data from BMC Client Management to CMDB 2.0, you must also perform the following configurations:
- Installing the JRE
- Downloading the Pentaho Data Integration tool
- Configuring the BMC Remedyforce external integration on the BMC Client Management server
- Enabling the REST web API on the BMC Client Management server
- Installing an SSL certificate on the BMC Client Management server
- Configuring BMC Remedyforce to retain the original Instance Name value of CIs imported from an external source
Importing data from BMC Client Management by using the Pentaho package
BMC Remedyforce provides a Pentaho package to import data from BMC Client Management by using the REST web API. The Pentaho package includes multiple job (KJB) files for importing different types of CIs, such as computer systems and LAN endpoints. For more information, see KJB files in the Pentaho package.
Note
In BMC Remedyforce versions earlier than Summer 15 Patch 1, when you import LAN endpoint data from BMC Client Management, duplicate LAN endpoint entries may be created on the Remedyforce CMDB. This was because of the following factors:
- In BMC Client Management, a LAN endpoint may periodically obtain multiple IP addresses using DHCP.
- In BMC Remedyforce versions Summer 15 and earlier, the Network Interface IP address is used as the unique source identifier for LAN endpoints imported from BMC Client Management.
In BMC Remedyforce Summer 15 Patch 1 and later versions, instead of the Network Interface IP address, the MAC address is used as the unique source identifier for the LAN endpoints imported from BMC Client Management, and new duplicate LAN endpoint entries are not created on the Remedyforce CMDB. However, you must manually delete any existing duplicate LAN endpoint entry on the Remedyforce CMDB.
For information about the REST web API, see the BMC Client Management Help.
Important
The job (KJB) files in the Pentaho package send a REST web API request to the BMC Client Management server to initiate the export of data to a .csv file. Each job file contains the list of BMC Client Management fields that are available by default in the .csv file. If you add, delete, or change the order of fields in the .csv file, you must update the Pentaho jobs and map the fields and the order in which they are listed to the .csv file. Otherwise, the data that you import might be corrupted or the import might not complete successfully. For more information, see Data that is imported from BMC Client Management is corrupted.
To import data from BMC Client Management by using the Pentaho package
Note
Starting from January 1, 2016, Salesforce is retiring www.salesforce.com as an API endpoint. To avoid connectivity issues (HTTP Status 404 error), update your Pentaho transformations that connect to https://www.salesforce.com/services/Soap/u/<API version> to https://login.salesforce.com/services/Soap/u/35.0 before the retirement date.
If you are running the Pentaho package in a Sandbox environment, modify the Salesforce Webservice URL from https://test.salesforce.com/services/Soap/u/<API version> to https://test.salesforce.com/services/Soap/u/35.0 in the updated Pentaho transformation. For more information, see Salesforce API Endpoint Retirement.
- Ensure that you have completed all prerequisite steps for importing data into BMC Remedyforce.
For more information, see Prerequisites for importing data into BMC Remedyforce. - Navigate to the location where you downloaded and unzipped the Pentaho Data Integration tool.
- To launch the Pentaho Data Integration tool, navigate to the data-integration folder.
- Double-click the Spoon.bat file and open the job (KJB) file for the CI type that you want to import.
For example, to import computer system CIs, open the TransferAssetCoreCSinfotoCMDB.kjb file. - From the Edit menu, select Settings.
In the Job properties window, click the Parameters tab.
Modify the Default value column for the parameters listed in the following table.
ParameterAction to be performedAC_DOWNLOADURL- Specify the BMC Client Management server name on which the .zip file that contains the data to be imported is stored.
- Specify the BMC Client Management server port that is configured for downloading the .zip file that contains the data to be imported.
You must enter the URL in the following format:https://BCMServerName:PortIn this URL, you must replace BCMServerName with the actual BMC Client Management server name and Port with the actual port from which the .zip file must be downloaded.AC_ENDPOINT- Specify the BMC Client Management server name from which you are importing data.
- Specify the BMC Client Management server port that is configured for the BMC Remedyforce external integration.
- to be imported.
You must enter the URL in the following format:https://BCMServerName:Port/api/1In this URL, you must replace BCMServerName with the actual BMC Client Management server name to which the Pentaho job sends the REST request and port with the actual port that is configured for sending the REST request.
Note: If you provide a secure URL, ensure that the SSL certificate that is installed on the port is certified by a Certificate Authority (CA).AC_USERNAME Specify the user name of the BMC Client Management administrator that you have configured for the BMC Remedyforce external integration. For more information, see Configuring the BMC Remedyforce external integration on the BMC Client Management server.AC_PASSWORDSpecify the password of the BMC Client Management administrator that you have configured for the BMC Remedyforce external integration. For more information, see Configuring the BMC Remedyforce external integration on the BMC Client Management server.AC_LANGUAGE(Optional) Specify the language into which the internal BMC Client Management keywords must be translated for the import.The default value for this parameter is English. You can change the value to American, Francais, Deutsch, Japanese, Espanol or Brasileiro.AC_NUMBEROFTRY(Optional) Specify the number of times the job must check for the availability of the file that contains data to be imported from BMC Client Management.The default value for this parameter is 3.AC_WAIT(Optional) Specify the time interval (in seconds) after which the job must check for the availability of the file that contains data to be imported.The default value for this parameter is 10.SFDC_URLConfirm that the URL to access Salesforce is specified in this parameter.The https://www.salesforce.com/services/Soap/u/27.0 URL is specified by default in this parameter.SFDC_USERSpecify the login ID of the Salesforce account that you will use to upload the imported data.SFDC_PASSWORDSpecify the password of the Salesforce account that you will use to upload the imported data.The various transformations and steps in the job use the values that you specify on the Parameters tab. If you do not specify values for the SFDC_USER and SFDC_PASSWORD parameters, you must provide the user name and password of your Salesforce organization in the following steps:
- Salesforce Input[CMDB_Class]
Upsert Into Class <CI type name>
To access these steps, in the job (KJB) file, right-click the Import Records in Remedyforce CMDB step, and select Open Referenced Object> Transformation.If you are running a combined job, you can specify the parameter values only in the combined job (for example, TransferAssetCoreComputerSystemAndProductinfotoCMDB.kjb). Each job that is included in the combined job uses the parameter values that you specify in the combined job. However, if you specify parameter values in the combined and individual jobs, values specified in the individual jobs take precedence.
- (Optional) To update the mapping between the data from BMC Client Management and BMC Remedyforce CMDB (fields in the Base Elementobject), perform the following steps:
- Double-click the Upsert Into Class <CI type name> step.
- In the Salesforce Upsert window, enter the user name and password of your Salesforce organization.
- In the Fields area, click Edit Mapping.
The Certain referenced fields were not found! error message is displayed because of a known issue with the Pentaho Data Integration tool. - To open the Enter Mapping window, click OK.
The tool removes all referenced fields from the existing mappings. The Pentaho package provided by BMC Remedyforce includes only one referenced field, BMCServiceDesk__CMDB_Class__c. The CMDB_Class field is no longer available in the Mappings column. - In the Source fields column, select CMDB_Class and click Add.
When you move CMDB_Class from the Source field column to the Mappings column, the c in the field name is replaced with r. For example, BMCServiceDesk__CMDB_Class__c is replaced with BMCServiceDesk__CMDB_Class__r. - Update mappings for other fields based on your requirements.
For information about updating the out-of-the-box mapping, see Field mapping in CMDB 2.0. - To save your settings and close the Enter Mapping window, click OK.
- In the Salesforce Input window, in the Module field column in the Fields area, click BMCServiceDesk__CMDB_Class__r, and replace r with c.
- (Optional) Based on your requirements, replace the Salesforce user name and password with the SFDC_USER and SFDC_PASSWORD parameters.
- To save your changes and close the Salesforce Upsert window, click OK.
- (Optional) If you have enabled the setting to access your Salesforce organization from limited IP addresses, to enable communication between Salesforce and the Pentaho Data Integration tool, perform the following actions:
In your Salesforce organization, navigate to Setup > Reset My Security Token.
If you have enabled the improved Setup user interface in your Salesforce organization, navigate to My Settings > Personal > Reset My Security Token. For more information about the improved Setup user interface, see http://help.salesforce.com/apex/HTViewHelpDoc?id=admin_setup_improved.htm&language=en_US.
- Click Reset Security Token.
An email message is sent to your email address stored in Salesforce. - In the Password field of the Upsert Into Class <CI type name> step, append the security token to the password.
For example, if your password is mypassword and your security token is XXXXXXXXX, then you must enter mypasswordXXXXXXXXX in the Password field.
- To save the KTR and KJB files, click .
- In the KJB file tab, click .
Perform one of the following actions based on the Pentaho version that you are using:
Pentaho version Action 6.1 In the Run Options window, click Run. 5.4 In the Execute a job window, click Launch. Data is imported into the appropriate CMDB class. The first time you run the job, all CIs are imported into the appropriate CMDB class. When you rerun the job, only the new and modified CIs are imported into the CMDB class.
Transformation status is depicted by using the following icons:- — Complete
- — Running
- — Unsuccessful
- (Optional) To view logs, in the Execution results section, click the Logging tab.
All the errors are displayed in red.
Upgrade considerations
In BMC Remedyforce versions earlier than Summer 15 Patch 1, when you import LAN endpoint data from BMC Client Management by using the REST Web API, duplicate LAN endpoint entries may be created on the Remedyforce CMDB. This was because, in BMC Client Management, a LAN endpoint may periodically obtain multiple IP addresses using DHCP, and BMC Remedyforce uses the Network Interface IP address as the unique source identifier for the imported LAN endpoints. In BMC Remedyforce Summer 15 Patch 1 and later versions, the MAC address is used as the unique source identifier for the LAN endpoints imported from BMC Client Management by using the REST Web API, and duplicate LAN endpoint entries are not created.
- In a new installation of BMC Remedyforce Summer 15 Patch 1 or later, if you are using the latest Pentaho package for importing data from BMC Client Management by using the REST Web API, duplicate LAN endpoint entries are not created.
- If you have upgraded to BMC Remedyforce Summer 15 Patch 1 or later, you must additionally perform the following actions:
- Stop using the previously installed Pentaho package for importing data from BMC Client Management by using the REST Web API.
Install the latest Pentaho package for importing data from BMC Client Management by using the REST Web API.
The latest Pentaho package has been released along with the BMC Remedyforce Summer 15 Patch 1 and is available at https://communities.bmc.com/docs/DOC-32929.Note
Any customizations that you may have created in the previously installed Pentaho package for importing data from BMC Client Management by using the REST Web API will not be available in the latest Pentaho package that you must install. You must create those customizations again in the latest Pentaho package.
- Manually delete any existing duplicate LAN endpoint entry on the Remedyforce CMDB.
For more information, see Deleting configuration items and Deleting assets.
Related topics
Troubleshooting issues with importing data from BMC Client Management
Overview of how data is imported into BMC Remedyforce
Comments
Log in or register to comment.