From f8e079cde374d2d81732bce83e3d800c7d7df91c Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Wed, 8 Apr 2026 17:37:28 +0200 Subject: [PATCH 01/41] 1252: language edits; imports/indexddd --- docs/integration/imports/index.mdx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/integration/imports/index.mdx b/docs/integration/imports/index.mdx index 9cb8601a3..fe1d0c4ca 100644 --- a/docs/integration/imports/index.mdx +++ b/docs/integration/imports/index.mdx @@ -2,10 +2,12 @@ title: "Imports" --- -This section provides information on how to import various types of data into Device42 using Excel spreadsheets. +Import data into Device42 with spreadsheets and spreadsheet-based import tools. These options let you add new records, update existing data, and make bulk changes without building API calls manually. -- **General Import**: Refer to [Spreadsheet Import and Exports](spreadsheet-imports-and-exports.mdx) for instructions on importing, editing, and exporting data. +This page is for users who want to choose the right spreadsheet-based import workflow for their task. Use the links below to import general data, load data with the Generic Spreadsheet Import Tool, or make bulk changes to selected devices. + +- **General Import**: See [Spreadsheet Imports and Exports](spreadsheet-imports-and-exports.mdx) for instructions on importing, editing, and exporting data. - **Using the Generic Spreadsheet Import Tool**: Use the [Generic Spreadsheet Import Tool](spreadsheet-converter-tool.mdx) to load existing XLS, XLSX, and CSV data into Device42. -- **Bulk Changes**: Make bulk changes to devices by utilizing the "Do a re-importable export for selected devices" option. See [Using the re-importable export feature](using-the-re-importable-export-feature.mdx) for an example of renaming multiple devices using this feature. \ No newline at end of file +- **Bulk Changes**: Make bulk changes to devices with the **Do a re-importable export for selected devices** option. For a device renaming example, see [Using the Re-Importable Export Feature](using-the-re-importable-export-feature.mdx). From 29991f559583db56a4d556cdf1ff6a396d15c758 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Wed, 8 Apr 2026 17:38:00 +0200 Subject: [PATCH 02/41] 1252: language edits; spreadsheet-converter-tool --- .../imports/spreadsheet-converter-tool.mdx | 59 ++++++++++++------- 1 file changed, 39 insertions(+), 20 deletions(-) diff --git a/docs/integration/imports/spreadsheet-converter-tool.mdx b/docs/integration/imports/spreadsheet-converter-tool.mdx index d114a9340..daa933df5 100644 --- a/docs/integration/imports/spreadsheet-converter-tool.mdx +++ b/docs/integration/imports/spreadsheet-converter-tool.mdx @@ -3,54 +3,73 @@ title: "Generic Spreadsheet Import Tool" sidebar_position: 3 --- -The Device42 Generic Spreadsheet Import Tool enables users to take data in existing spreadsheets or CSV files and easily load them into Device42. The tool supports XLS, XLSX, and CSV formats and enables users to quickly and easily map columns from the spreadsheets to the appropriate fields in Device42. -Here is a [video how-to on this Generic CSV import tool.](how-to-videos/generic-csv-import-tool-how-to.mdx) +Use the Device42 Generic Spreadsheet Import Tool to load data from spreadsheet and CSV files into Device42. The tool supports `XLS`, `XLSX`, and `CSV` files and lets you map spreadsheet columns to the correct fields in Device42. -The spreadsheet converter is a standalone executable and is available for download at [https://www.device42.com/bulk-data-management/](https://www.device42.com/bulk-data-management/). +This page is for users who want to prepare a spreadsheet, map its columns, and import the data into Device42. It also shows where to download the tool, how to save mapping templates, and how to create custom fields for device imports. -## Open an Existing Spreadsheet +For a video walkthrough, see [Generic (.CSV) Import Tool How to](/how-to-videos/generic-csv-import-tool-how-to.mdx). + +## Use the Generic Spreadsheet Import Tool + +The spreadsheet converter is a standalone executable. You can download it from [https://www.device42.com/bulk-data-management/](https://www.device42.com/bulk-data-management/). + +### Open an Existing Spreadsheet + +Start by opening the tool and selecting the source file you want to import. ![Spreadsheet Converter Tool](/assets/images/2015-10-10-ss-convert-1.png) -To get started, open the tool, browse for your existing xls, xlsx, or csv file, and select the file. +Browse to your existing `XLS`, `XLSX`, or `CSV` file, and then select it. + +### Run the File Prep Wizard -## Run the File Prep Wizard +Use the File Prep Wizard to review the spreadsheet before you map any fields. ![Spreadsheet Converter Tool](/assets/images/2015-10-10-ss-convert-2.png) -You now see a preview of the first several rows of your spreadsheet. If you have any extraneous header rows that you wish to delete, you can delete them here by clicking “Remove first N rows”. +You can preview the first several rows of the spreadsheet. If the file includes extra header rows, click **Remove first N rows** to delete them before continuing. -After you do this, click “Next”. +When the preview looks correct, click **Next**. -## Map Columns to Device42 Fields +### Map Columns to Device42 Fields + +Map each source column to the corresponding field in Device42. ![Spreadsheet Converter Tool](/assets/images/2015-10-10-ss-convert-3.png) -Now select a column from your existing spreadsheet and then select the field you want to map to in Device42. +Select a column from your spreadsheet, and then select the Device42 field you want to map it to. -In the example above we have the “Device Name” field in the spreadsheet and we are mapping it to the “Device: name” in Device42. Once the correct field for Device42 is selected you can click on “Map to” and this will map the field. +In the example above, the `Device Name` spreadsheet column is mapped to the `Device: name` field in Device42. After you select the correct Device42 field, click **Map to**. ![Spreadsheet Converter Tool](/assets/images/2015-10-10-ss-convert-4.png) -Each time you map a field, you will see a green check box indicating that “Device” has already mapped this field. Now click “Next” to continue to map other fields. +Each mapped field displays a green check mark to show that the mapping is complete. After you finish mapping the fields you need, click **Next**. + +### Create Custom Device Fields -## Custom Device Fields +If a spreadsheet column does not match an existing Device42 field, you can create a custom field during the import process. ![Spreadsheet Converter Tool](/assets/images/2015-10-10-ss-convert-5.png) -If you have a field that doesn't have an appropriate Device42 field to map to, you can create a custom Device42 field. When you do this, the spreadsheet converter will automatically create the custom field for you and associate it to the Device you are importing. +When you create a custom field, the spreadsheet converter automatically creates it in Device42 and associates it with the imported device. + +:::note +Custom fields are only available for Devices. +::: + +### Save a Mapping Template -Note: Custom fields are only available for Devices. +Save the mapping if you expect to import similar spreadsheets again. -## Save Mappings as Template +Click **Save current mapping as template** to reuse the same mapping later. This reduces repeated setup for spreadsheets with the same structure. -If you click “Save current mapping as template”, you will save a template that you can use for future spreadsheets that are similar in format. This will save you time spent on mapping fields. +After you finish mapping the fields and optionally save the template, click **Finish**. -Once you are done mapping the fields as well as saving your template click Finish. +## Import the Spreadsheet Data -## Run the Script +Enter the connection details and run the import to send the spreadsheet data to Device42. ![Spreadsheet Converter Tool](/assets/images/2015-10-10-ss-convert-7.png) -To run the script, select the file name and enter the Device42 IP address and the authentication information. Click on “Run” and your data from the spreadsheet will be imported into Device42! +Select the file name, enter the Device42 IP address, and provide the authentication details. Then click **Run** to import the spreadsheet data into Device42. From 9cdaed3b7b446052d0a19bfda9d5c1a7b98c1fd7 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Wed, 8 Apr 2026 17:42:58 +0200 Subject: [PATCH 03/41] 1252: language improvements; spreadsheet-imports-and-exports --- .../spreadsheet-imports-and-exports.mdx | 45 +++++++++++-------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/docs/integration/imports/spreadsheet-imports-and-exports.mdx b/docs/integration/imports/spreadsheet-imports-and-exports.mdx index 94032c7fa..e8a5dbce8 100644 --- a/docs/integration/imports/spreadsheet-imports-and-exports.mdx +++ b/docs/integration/imports/spreadsheet-imports-and-exports.mdx @@ -6,11 +6,11 @@ sidebar_position: 1 import ThemedImage from "@theme/ThemedImage"; import useBaseUrl from "@docusaurus/useBaseUrl"; -Use the spreadsheet imports and export functionality to modify data, add data to Device42, and export current data. The import and export feature uses the Device42 API without you needing to construct the API calls yourself and provides feedback on whether the records were successfully updated or why they were not. +Use the spreadsheet import and export tools to add data to Device42, update existing records, and export current data. These tools use the Device42 API in the background, so you do not need to build API calls manually. They also show whether each record was imported successfully and, if not, why it failed. -It may be useful to import and export resource IP addresses for analysis by another tool or to reflect a new network configuration by making bulk changes to the IP addresses and then reuploading the data to Device42. +This page is for users who want to bulk import, export, or modify Device42 data with spreadsheet files. It explains where to find the feature, how to prepare sample files, how to upload changes, and how exports behave for large datasets and passwords. -The spreadsheet import functionality is located under **Tools > Imports/Exports (xls)**. +The spreadsheet import and export functionality is located under **Tools > Imports/Exports (xls)**. Imports/Exports ## Import Data -To load a set of data, choose a category on the left and click **Download Sample Excel File**. You'll add your data to the sample spreadsheet and import it. +To import data, choose a category on the left and click **Download Sample Excel File**. Add your data to the sample spreadsheet, and then import it. -Below is the sample spreadsheet for the **Buildings - Create/Update Buildings** category. -- The first three rows should not be modified. They consist of the API endpoint, request method, and column headings. -- The fourth (and sometimes fifth) row contains sample data. Delete the sample data and add the data to import to rows four and up. -- Save the .xls or .xlsx file. +Below is a sample spreadsheet for the **Buildings - Create/Update Buildings** category. + +- Do not modify the first three rows. They contain the API endpoint, request method, and column headings. +- The fourth row, and sometimes the fifth row, contains sample data. Delete the sample data, and then add the records you want to import starting on row four. +- Save the file as `.xls` or `.xlsx`. ![Importing Data](/assets/images/spreadsheet-imports-and-exports/sample-spreadsheet.png) -Now upload the file. Head back to the **Import/Export (xls)** page, browse to add the modified sample spreadsheet, and click **Import**. +After you prepare the file, upload it from the **Imports/Exports (xls)** page. + +Browse to the modified sample spreadsheet, and then click **Import**. -Below the **Browse** button, you'll see a message listing all the records that were added or updated successfully. If any records were rejected, you'll see a reason for each rejection. +Below **Browse**, Device42 displays a message listing the records that were added or updated successfully. If any records are rejected, the message includes a reason for each rejection. -### Data Explanations +### Learn About Data Fields -If you want to learn more about a data field, hover over the small triangle in the upper right of the field name cells. Alternatively, click the **View Documentation** link on the **Imports/Exports (xls)** page to be redirected to the online documentation. +If you want to learn more about a data field, hover over the small triangle in the upper-right corner of the field name cell. You can also click **View Documentation** on the **Imports/Exports (xls)** page to open the online documentation. ![Getting Help](/assets/images/spreadsheet-imports-and-exports/spreadsheet-tips.png) ## Export Data -Click the **Download Current Data** link to download a spreadsheet of the current data for the chosen category. This is a simple way to export your data. +To export data, click **Download Current Data** for the selected category. This downloads a spreadsheet that contains the current records for that category. -As of Device42 19.06, the export feature will generate a spreadsheet in a new browser tab for each 1,000,000 records generated. +The export feature opens a new browser tab for each 1,000,000 exported records. -For example, the spreadsheet below shows exported data for the **Buildings - Create/Update Buildings** category. +For example, the spreadsheet below shows exported data for the **Buildings - Create/Update Buildings** category. ![Building export data](/assets/images/spreadsheet-imports-and-exports/example-export.png) ## Modify Data -This same functionality can be used to modify your data. Simply download the current data, modify the data in the spreadsheet, and import by clicking the **Browse** and **Import** buttons as described above. +You can use the same workflow to modify existing data. -If a category has the **Create** or **Add** options visible to its left and not **Modify** or **Update**, then the records in the imported spreadsheet will be added. So, if you **Download Current Data** and re-import it, you will get duplicates. +Download the current data, update the spreadsheet, and then re-import it with **Browse** and **Import** as described above. -To prevent duplicate records, download and modify the data in the spreadsheet and then delete the existing records before you do the re-import step. Find the list view for the _primary object_ of your category of interest to bulk delete the existing records. For example, go to the racks list view for the **Create Racks** category. +If a category shows **Create** or **Add**, but does not show **Modify** or **Update**, importing the spreadsheet adds new records instead of updating existing ones. If you export current data and re-import it for one of these categories, you will create duplicates. + +To avoid duplicate records, modify the spreadsheet and then delete the existing records before you re-import it. Go to the list view for the *primary object* in the category to bulk-delete the existing records. For example, use the racks list view for the **Create Racks** category. ## Export Passwords -By default, the password export does not export the actual passwords even for users with the necessary permissions to view passwords. Go to **Tools > Settings > Password Security** to change the default setting. Password exports will then contain the literal string passwords for users with the correct permissions. +By default, password exports do not include the actual password values, even for users who have permission to view passwords. + +To change this behavior, go to **Tools > Settings > Password Security**. Password exports then include the literal password strings for users with the appropriate permissions. From d790cf68a71b682200ab12690cbce2b7e036f1a2 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Wed, 8 Apr 2026 17:52:02 +0200 Subject: [PATCH 04/41] 1252: language improvements; using-the-re-importable-export-feature --- ...using-the-re-importable-export-feature.mdx | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/docs/integration/imports/using-the-re-importable-export-feature.mdx b/docs/integration/imports/using-the-re-importable-export-feature.mdx index a9dd9d1d9..5b5bad786 100644 --- a/docs/integration/imports/using-the-re-importable-export-feature.mdx +++ b/docs/integration/imports/using-the-re-importable-export-feature.mdx @@ -1,16 +1,18 @@ --- -title: "Using the re-importable export feature" +title: "Using the Re-Importable Export Feature" sidebar_position: 2 --- import ThemedImage from '@theme/ThemedImage' import useBaseUrl from '@docusaurus/useBaseUrl' -The re-importable export option can be used to make bulk changes to devices. +Use the re-importable export feature to make bulk changes to devices by exporting selected records, editing them in a spreadsheet, and importing the updated data back into Device42. + +This page is for users who want to update multiple devices at once without editing each record individually. It walks through a bulk device renaming example and points to the related API documentation for additional update options. ## Example: Renaming Multiple Devices - In this example, we will use this feature to rename multiple devices. +This example shows how to rename multiple devices with a re-importable export. Select the devices you want to rename from any device list view, like the one located under **Resources > Compute > All Devices**. @@ -24,7 +26,7 @@ From the **Actions** dropdown menu, choose the **Export selected items** option. }} /> -Choose the **Re-importable Export** option and click **Export**. Note that as of Device42 19.06, the re-importable export feature will generate a spreadsheet in a new browser tab for each 1,000,000 records generated. +Choose **Re-importable Export**, and then click **Export**. The export opens in a new browser tab for each 1,000,000 generated records. -Download the spreadsheet and change the device names. If you're using a naming convention that includes numbers, you can allow Excel to auto-fill the device names by typing in the first two names, selecting the cells, and dragging the selection down the column. +Download the spreadsheet and update the device names. If your naming convention includes numbers, Excel can auto-fill the names after you enter the first two values, select both cells, and drag the selection down the column. ![Add new name column](/assets/images/re-importable-export-feature/excel-new-name.png) -Back in Device42, go to **Tools > Imports/Exports (xls)** to upload the spreadsheet and then click **Import**. +After you update the spreadsheet, go to **Tools > Imports/Exports (xls)** in Device42, upload the file, and click **Import**. -When the import is complete, you will see the confirmation, "The following lines from worksheet Current were added or updated successfully". +When the import is complete, you will see the confirmation message stating that the lines from worksheet `Current` were added or updated successfully. -To confirm the success of the bulk device renaming, search for the new device names from the device list page search bar. +To confirm the bulk device rename, search for the new device names from the search bar on the device list page. -Renaming devices is just one example of how the **Re-importable Export** feature can be used. For example, the re-importable export sheet includes almost 30 device parameters that can be edited and imported back into the system. +Renaming devices is just one example of how you can use **Re-importable Export**. The re-importable export sheet includes nearly 30 device parameters that you can edit and import back into Device42. ## More Information -For more details on the options available using API / API Imports: +For more information about the available API import options, see the following references: [https://api.device42.com/#update-device-by-serial-or-asset](https://api.device42.com/#update-device-by-serial-or-asset) -[https://api.device42.com/#create/update-device-by-name](https://api.device42.com/#create/update-device-by-name) \ No newline at end of file +[https://api.device42.com/#create/update-device-by-name](https://api.device42.com/#create/update-device-by-name) From 4c87cfde8695528db302b815a34a1bc92aaf9c4e Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Wed, 8 Apr 2026 18:01:22 +0200 Subject: [PATCH 05/41] 1252: language-improvements; api-overview --- docs/integration/api-overview.mdx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/integration/api-overview.mdx b/docs/integration/api-overview.mdx index e24044a17..aee0b5ed0 100644 --- a/docs/integration/api-overview.mdx +++ b/docs/integration/api-overview.mdx @@ -3,17 +3,19 @@ title: "API Overview" sidebar_position: 2 --- -Application Programming Interface (APIs) define a contract of service for a set of allowed operations. Device42 features comprehensive RESTful APIs as the primary method of entering, editing, and retrieving data externally and programmatically. +Device42 provides RESTful APIs that you can use to create, update, and retrieve data programmatically. These APIs are the primary way to integrate Device42 with external systems and automation workflows. + +This page provides links to the current Device42 API documentation and to previous Swagger (OpenAPI) YAML files. :::info -Please visit our **[API documentation](https://api.device42.com/)** for detailed information on using Device42 APIs. +For endpoint details, request formats, and examples, see the **[Device42 API documentation](https://api.device42.com/)**. ::: -## Device42 Swagger Files +## Download Previous Swagger Files -The current version of the API is hosted at [api.device42.com](https://api.device42.com/). +The current API version is hosted at [api.device42.com](https://api.device42.com/). -You can find the previous versions of our Swagger (OpenAPI) YAML files below: +You can download previous Swagger (OpenAPI) YAML files below: - v19.05.10 - v19.04.30 @@ -21,4 +23,3 @@ You can find the previous versions of our Swagger (OpenAPI) YAML files below: - v19.02.00 - v19.01.00 - v19.00.00 - From f7554fa4edadc4a16e06be708bb971568c38048c Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Thu, 9 Apr 2026 15:31:00 +0200 Subject: [PATCH 06/41] 1252: fix mdx link, heading, and intro sentence style on imports pages - Strip .mdx from video link in spreadsheet-converter-tool - Change 'Learn About Data Fields' to 'Data Field Descriptions' (noun phrase) - Replace 'This page is for users who want to...' with 'This page covers/explains...' --- docs/integration/imports/spreadsheet-converter-tool.mdx | 4 ++-- docs/integration/imports/spreadsheet-imports-and-exports.mdx | 4 ++-- .../imports/using-the-re-importable-export-feature.mdx | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/integration/imports/spreadsheet-converter-tool.mdx b/docs/integration/imports/spreadsheet-converter-tool.mdx index daa933df5..d95e2fa18 100644 --- a/docs/integration/imports/spreadsheet-converter-tool.mdx +++ b/docs/integration/imports/spreadsheet-converter-tool.mdx @@ -6,9 +6,9 @@ sidebar_position: 3 Use the Device42 Generic Spreadsheet Import Tool to load data from spreadsheet and CSV files into Device42. The tool supports `XLS`, `XLSX`, and `CSV` files and lets you map spreadsheet columns to the correct fields in Device42. -This page is for users who want to prepare a spreadsheet, map its columns, and import the data into Device42. It also shows where to download the tool, how to save mapping templates, and how to create custom fields for device imports. +This page covers how to download the tool, open and map a spreadsheet, save mapping templates, and create custom device fields. -For a video walkthrough, see [Generic (.CSV) Import Tool How to](/how-to-videos/generic-csv-import-tool-how-to.mdx). +For a video walkthrough, see [Generic (.CSV) Import Tool How to](/how-to-videos/generic-csv-import-tool-how-to). ## Use the Generic Spreadsheet Import Tool diff --git a/docs/integration/imports/spreadsheet-imports-and-exports.mdx b/docs/integration/imports/spreadsheet-imports-and-exports.mdx index e8a5dbce8..31f1e607a 100644 --- a/docs/integration/imports/spreadsheet-imports-and-exports.mdx +++ b/docs/integration/imports/spreadsheet-imports-and-exports.mdx @@ -8,7 +8,7 @@ import useBaseUrl from "@docusaurus/useBaseUrl"; Use the spreadsheet import and export tools to add data to Device42, update existing records, and export current data. These tools use the Device42 API in the background, so you do not need to build API calls manually. They also show whether each record was imported successfully and, if not, why it failed. -This page is for users who want to bulk import, export, or modify Device42 data with spreadsheet files. It explains where to find the feature, how to prepare sample files, how to upload changes, and how exports behave for large datasets and passwords. +This page explains where to find the feature, how to prepare sample files, how to upload changes, and how exports behave for large datasets and passwords. The spreadsheet import and export functionality is located under **Tools > Imports/Exports (xls)**. @@ -63,7 +63,7 @@ Below **Browse**, Device42 displays a message listing the records that were adde style={{ width: '70%' }} /> -### Learn About Data Fields +### Data Field Descriptions If you want to learn more about a data field, hover over the small triangle in the upper-right corner of the field name cell. You can also click **View Documentation** on the **Imports/Exports (xls)** page to open the online documentation. diff --git a/docs/integration/imports/using-the-re-importable-export-feature.mdx b/docs/integration/imports/using-the-re-importable-export-feature.mdx index 5b5bad786..db726342c 100644 --- a/docs/integration/imports/using-the-re-importable-export-feature.mdx +++ b/docs/integration/imports/using-the-re-importable-export-feature.mdx @@ -8,7 +8,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl' Use the re-importable export feature to make bulk changes to devices by exporting selected records, editing them in a spreadsheet, and importing the updated data back into Device42. -This page is for users who want to update multiple devices at once without editing each record individually. It walks through a bulk device renaming example and points to the related API documentation for additional update options. +This page walks through a bulk device renaming example and points to the related API documentation for additional update options. ## Example: Renaming Multiple Devices From 268ed356ed387faecdceab22cbb22c63c9c06f81 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Thu, 9 Apr 2026 15:45:05 +0200 Subject: [PATCH 07/41] 1252: grammar and formatting improvements; jira-integrations --- .../device42-jira-assets-integration.mdx | 6 ++-- .../device42-jira-cloud-integration.mdx | 16 +++++------ .../device42-jira-integration.mdx | 28 ++++++++++--------- .../jira-integrations/index.mdx | 22 ++++++++------- 4 files changed, 38 insertions(+), 34 deletions(-) diff --git a/docs/integration/external-integrations/jira-integrations/device42-jira-assets-integration.mdx b/docs/integration/external-integrations/jira-integrations/device42-jira-assets-integration.mdx index 570ddbc3a..ab8bc5e0e 100644 --- a/docs/integration/external-integrations/jira-integrations/device42-jira-assets-integration.mdx +++ b/docs/integration/external-integrations/jira-integrations/device42-jira-assets-integration.mdx @@ -5,7 +5,7 @@ sidebar_position: 1 import ThemedImage from '@theme/ThemedImage' import useBaseUrl from '@docusaurus/useBaseUrl' -Integrate your Device42 instance with Atlassian Jira Service Management (JSM) Cloud to benefit from our autodiscovery capabilities and have your latest IT management information available. +Integrate your Device42 instance with Atlassian Jira Service Management (JSM) Cloud to keep your latest IT asset data in sync and available directly within Jira. :::warning Please note that [the JSM Assets app](https://marketplace.atlassian.com/search?query=device42) is the currently supported Device42-Jira integration app. It is available on the Atlassian Marketplace. @@ -13,7 +13,7 @@ Please note that [the JSM Assets app](https://marketplace.atlassian.com/search?q Support for the 'external' JSM Assets integration app [ended on December 30, 2024](https://community.developer.atlassian.com/t/shutdown-notice-update-on-deprecation-of-the-external-assets-platform/81193), as Atlassian has implemented asset capabilities that are 'internal' (native) to its premium Jira platform. ::: -The instructions below describe the initial setup process of integrating Device42 with your JSM Cloud account. +This page describes the initial setup process for integrating Device42 with your JSM Cloud account. ## Prerequisites @@ -50,4 +50,4 @@ A successful connection will display the green "Connection Enabled" status. ![connection enabled status](/assets/images/jsm-solution-guide/image38.png) -See the [JSM solution guide](solution-guides/jira-service-management-integration.mdx) for information on connection statuses, using object schema imports, and setting user permissions. +See the [JSM solution guide](/solution-guides/jira-service-management-integration) for information on connection statuses, using object schema imports, and setting user permissions. diff --git a/docs/integration/external-integrations/jira-integrations/device42-jira-cloud-integration.mdx b/docs/integration/external-integrations/jira-integrations/device42-jira-cloud-integration.mdx index bcd0803bf..8be975da6 100644 --- a/docs/integration/external-integrations/jira-integrations/device42-jira-cloud-integration.mdx +++ b/docs/integration/external-integrations/jira-integrations/device42-jira-cloud-integration.mdx @@ -6,12 +6,12 @@ import ThemedImage from '@theme/ThemedImage' import useBaseUrl from '@docusaurus/useBaseUrl' :::warning -Please note that [the JSM Assets app](https://marketplace.atlassian.com/search?query=device42) is the currently supported Device42-Jira integration app. It is available on the Atlassian Marketplace. +The integration described on this page uses the external JSM Assets app, which was deprecated on December 30, 2024. The setup steps below may no longer reflect the current UI or behavior. -Support for the 'external' JSM Assets integration app [ended on December 30, 2024](https://community.developer.atlassian.com/t/shutdown-notice-update-on-deprecation-of-the-external-assets-platform/81193), as Atlassian has implemented asset capabilities that are 'internal' (native) to its premium Jira platform. +The currently supported integration is the [Device42 for Jira Service Management Assets app](https://marketplace.atlassian.com/search?query=device42). See the [Jira Service Management Assets Integration](/integration/external-integrations/jira-integrations/device42-jira-assets-integration) page for setup instructions. ::: -Integrate your Device42 instance with Jira Service Management (JSM) to manage your team's tasks, linking them directly to the impacted assets. +This page covers the installation, configuration, and usage of the now-deprecated external JSM integration between Device42 and Jira Service Management (JSM) Cloud. ## Installation and Configuration @@ -34,7 +34,7 @@ Prepare your Device42 instance for cloud service integration by navigating to ** }} /> -### Configuring Device42 +### Configure Device42 1. From the Device42 menu, go to **Tools > Integrations > External Integrations** and click on the **Add External Integration** button. @@ -56,7 +56,7 @@ Prepare your Device42 instance for cloud service integration by navigating to ** }} /> -3. Copy the Device42 **Verification Token**, which you'll use to configure the JSM app in the next section. +3. Copy the Device42 **Verification Token**, which you will use to configure the JSM app in the next section. -### Configuring Jira +### Configure Jira To install and configure the Jira-side integration, log in to your Jira Cloud account and proceed as follows: @@ -82,7 +82,7 @@ To install and configure the Jira-side integration, log in to your Jira Cloud ac ![Linked Issues field configuration](/assets/images/jsm-integration/external-asset-platform.png) -### Configuring, Uninstalling, or Verifying the Installation of the JSM App +### Manage the JSM App 1. You can view and manage the JSM app from your Jira instance. Go to **Apps > Manage your apps** and click on the **Device42 Jira Service Management** app under the "User-installed apps" heading. 2. Click on **Configure** to link your Device42 instance as detailed in the [previous section](#configuring-jira). @@ -166,7 +166,7 @@ The new issue is now attached to the CI. ### Customizing Which Assets Sync -By default, syncs run daily at 2 AM and only sync "Devices". You can customize the data synced from Device42 by adding new Sync [DOQL queries](reports/device42-doql/index.mdx), customizing existing queries, or writing your own. +By default, syncs run daily at 2 AM and only sync "Devices". You can customize the data synced from Device42 by adding new Sync [DOQL queries](/reports/device42-doql), customizing existing queries, or writing your own. Edit the DOQL selection for sync by going to **Tools > Integrations > External Integrations** and selecting the JSM external integration. diff --git a/docs/integration/external-integrations/jira-integrations/device42-jira-integration.mdx b/docs/integration/external-integrations/jira-integrations/device42-jira-integration.mdx index 4dae7c0f3..776530577 100644 --- a/docs/integration/external-integrations/jira-integrations/device42-jira-integration.mdx +++ b/docs/integration/external-integrations/jira-integrations/device42-jira-integration.mdx @@ -3,9 +3,7 @@ title: "Jira (self-managed) Integration" sidebar_position: 3 --- -:::info -Atlassian Server is in the process of being [discontinued](https://www.atlassian.com/blog/platform/atlassian-server-is-going-away-next-steps) and the future of self-managed products is via the [Atlassian Data Center](https://www.atlassian.com/enterprise/data-center). -::: +Use the Device42 - CMDB with REST APIs for Jira app to integrate Device42 with a self-hosted (Data Center) Jira instance. This page covers installation, configuration, custom fields, CI filters, and workflow automation. ## Integration Prerequisites @@ -14,9 +12,9 @@ To use the self-hosted Device42-Jira integration, users must have: * A running **Device42** virtual appliance, populated with configuration items (CIs) to sync to Jira. * A properly configured **self-hosted Jira instance** with administrator access. -_*If you are looking to integrate Device42 with Jira Service Management and/or Jira Cloud, see the [Device42-Jira Service Management/Cloud integration page.](device42-jira-cloud-integration.mdx)_ +If you are looking to integrate Device42 with Jira Service Management or Jira Cloud, see the [Jira Service Management Integration](/integration/external-integrations/jira-integrations/device42-jira-cloud-integration) page. -## Device42-jira Self-hosted Integration Features +## Device42-Jira Self-Hosted Integration Features The Device42-Jira integration offers users the following functionality: @@ -32,10 +30,10 @@ The Device42-Jira integration offers users the following functionality: The **Device42 - CMDB with REST APIs for Jira** app is the part of Atlassian Marketplace, so you can easily install it using the Universal Plugin Manager (UPM). The app's search capability is provided by Jira from the Jira search box. -If you have some specific environment that blocks Jira from accessing the internet, you can install Device42 plugin manually. Download the latest version of the app from this [Atlassian Marketplace](https://marketplace.atlassian.com/apps/1213601/device42-cmdb-with-rest-apis-for-jira?tab=overviewhttps://marketplace.atlassian.com/apps/1213601/device42-cmdb-with-rest-apis-for-jira?tab=overviewhosting=datacenter) link. Or copy and paste the following URL into your browser: +If you have some specific environment that blocks Jira from accessing the internet, you can install Device42 plugin manually. Download the latest version of the app from this [Atlassian Marketplace](https://marketplace.atlassian.com/apps/1213601/device42-cmdb-with-rest-apis-for-jira) link. Or copy and paste the following URL into your browser: ``` -https://marketplace.atlassian.com/apps/1213601/device42-cmdb-with-rest-apis-for-jira?tab=overviewhttps://marketplace.atlassian.com/apps/1213601/device42-cmdb-with-rest-apis-for-jira?tab=overviewhosting=datacenter +https://marketplace.atlassian.com/apps/1213601/device42-cmdb-with-rest-apis-for-jira ``` :::info @@ -310,7 +308,9 @@ Create filter templates to use as preset settings for the the Device42 Custom Fi ![Save or reset](/assets/images/jira-self-managed/save-or-reset.png) -**Note:** if you haven't selected any CIs under general settings you will see an error message. +:::note +If you haven't selected any CIs under **General Settings**, you will see an error message. +::: ### Load a Filter Template @@ -329,9 +329,9 @@ Project administrators can load filter templates to any project. The filter temp ## Work With Jira Issues -### View issue +### View an Issue -On view screens a Device42 Custom Field looks so: +On view screens, a Device42 Custom Field looks like this: ![View issue](/assets/images/jira-self-managed/view-task.png) @@ -371,7 +371,9 @@ If you don't see your custom field, you can add it by clicking on the **Configur ![Add custom fields to issue](/assets/images/jira-self-managed/edit-issue-configure-fields.png) -> For the large scope of CIs plugin uses ajax to request the data for the CI selection list, so the CIs are loaded by portions. It is possible to search the custom field by the term. The search scope is the display name of the CI. In the future, we plan to extend this functionality and use the smart search of data. +:::note +For large sets of CIs, the plugin uses AJAX to load CI data in portions. You can filter the list by typing part of a CI's display name into the search field. +::: * * * @@ -379,7 +381,7 @@ If you don't see your custom field, you can add it by clicking on the **Configur Device42 custom fields allow full-text search on the CI IDs and parameters. Almost all parameters are available for search, however, users cannot specify exact parameters to search. For example, if you search for the word '_Device_' you will find the issues with a custom field containing devices and custom fields with other CI types that contain the word 'device' in their name. -### Simple search +### Simple Search 1. Open the issue navigator. Select 'Simple' search mode 2. Click the 'More' selection list. Search for the custom field by name @@ -387,7 +389,7 @@ Device42 custom fields allow full-text search on the CI IDs and parameters. Almo 4. Add the search criteria in the text box under the filter 5. Click the 'Update' button. You will see the issues filtered by the custom field inside the issue navigator![Simple Search](/assets/images/4199241721-17_custom_field_simple_search.png) -### Advanced search +### Advanced Search 1. Open the issue navigator. Select 'Advanced' search mode 2. Type the search request using JQL query language. Supported operators for the field: '~', '!~', 'IS EMPTY', 'IS NOT EMPTY'. diff --git a/docs/integration/external-integrations/jira-integrations/index.mdx b/docs/integration/external-integrations/jira-integrations/index.mdx index 4d307fb3e..9b589c1d6 100644 --- a/docs/integration/external-integrations/jira-integrations/index.mdx +++ b/docs/integration/external-integrations/jira-integrations/index.mdx @@ -2,19 +2,21 @@ title: "Jira Integrations Overview" --- -For Premium or Enterprise Jira Service Management accounts: +Device42 integrates with Jira Service Management (JSM) to let you attach Device42 assets directly to Jira issues and keep CI data in sync between the two systems. The integration app and setup steps vary depending on your Jira account type. -- Use the [Device42 for Jira Service Management **Assets** app](https://marketplace.atlassian.com/apps/1229672/device42-for-jira-service-management-assets?hosting=cloud&tab=overview) from the Atlassian Marketplace to integrate Jira Service Management with Device42. -- Learn [how to connect your Device42 instance to your Jira Service Management account](device42-jira-assets-integration.mdx). -- See the [Device42 for JSM assets](/solution-guides/jira-service-management-integration/#configure-device42-for-jsm-assets-the-settings-tab.mdx) sections of the Jira Integration solution guide for more guidance. The Jira solution guide includes use-case examples that practically demonstrate Device42-Jira integration features. +**Premium or Enterprise Jira Service Management accounts:** -For Jira Cloud accounts: +- Use the [Device42 for Jira Service Management Assets app](https://marketplace.atlassian.com/apps/1229672/device42-for-jira-service-management-assets?hosting=cloud&tab=overview) from the Atlassian Marketplace. +- See the [Jira Service Management Assets Integration](/integration/external-integrations/jira-integrations/device42-jira-assets-integration) page to connect your Device42 instance to your JSM account. +- See the [Device42 for JSM Assets](/solution-guides/jira-service-management-integration/#configure-device42-for-jsm-assets-the-settings-tab) section of the Jira Integration solution guide for use-case examples. + +**Jira Cloud accounts:** - Use the [Device42 for Jira Service Management app](https://marketplace.atlassian.com/search?query=device42). -- Learn how to synchronize data from Device42 to your Jira instance and how to link or create Jira issues in the [Jira Service Management integration guide](device42-jira-cloud-integration.mdx). -- For additional context on the Device42-Jira installation, see the [Device42 for Jira Service Management](/solution-guides/jira-service-management-integration/#device42-for-jira-service-management.mdx) sections in the Jira Integration solution guide. +- See the [Jira Service Management Integration](/integration/external-integrations/jira-integrations/device42-jira-cloud-integration) guide to synchronize data and link or create Jira issues from Device42. +- See the [Device42 for Jira Service Management](/solution-guides/jira-service-management-integration/#device42-for-jira-service-management) section of the Jira Integration solution guide for additional context. -For self-hosted Jira accounts: +**Self-hosted Jira accounts:** -- Use the connector app, [Device42 - CMDB with REST APIs for Jira](https://marketplace.atlassian.com/apps/1213601/device42-cmdb-with-rest-apis-for-jira?hosting=datacenter&tab=overview). -- See the [Jira (self-managed) Integration page](device42-jira-integration.mdx) for a comprehensive guide to integrating your self-hosted Jira instance with Device42, including instructions for downloading and installing the app, filtering Device42 configuration items (CIs), and creating custom fields to link CIs to Jira issues. \ No newline at end of file +- Use the [Device42 - CMDB with REST APIs for Jira](https://marketplace.atlassian.com/apps/1213601/device42-cmdb-with-rest-apis-for-jira?hosting=datacenter&tab=overview) connector app. +- See the [Jira (Self-Managed) Integration](/integration/external-integrations/jira-integrations/device42-jira-integration) page for a comprehensive guide to installing the app, filtering configuration items (CIs), and creating custom fields to link CIs to Jira issues. \ No newline at end of file From 0c878d3742ee1dca5f5839bac9aba0e2fe8e19b9 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:32:53 +0200 Subject: [PATCH 08/41] 1252: language-improvements; aperture-vista-to-device42-migration --- .../aperture-vista-to-device42-migration.mdx | 32 ++++++++----------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/docs/integration/external-integrations/aperture-vista-to-device42-migration.mdx b/docs/integration/external-integrations/aperture-vista-to-device42-migration.mdx index 0f6dfe67b..de14be923 100644 --- a/docs/integration/external-integrations/aperture-vista-to-device42-migration.mdx +++ b/docs/integration/external-integrations/aperture-vista-to-device42-migration.mdx @@ -3,44 +3,40 @@ title: "Aperture VISTA to Device42 Migration" sidebar_position: 1 --- -The Aperture VISTA to Device42 migration works in the following manner: Data is exported from the Aperture VISTA application by first creating Device42 custom views in the Aperture SQL Server database. These views are then exported from Aperture VISTA and saved as `.csv` or Excel files which are then easily imported and mapped into Device42's data architecture. +The Aperture VISTA to Device42 migration exports data from Aperture VISTA by creating Device42 custom views in the Aperture SQL Server database. These views are exported from Aperture VISTA and saved as `.csv` or Excel files, which are then imported and mapped into Device42’s data architecture. -Aperture views can be downloaded here: [https://www.device42.com/migrations/aperture/](https://www.device42.com/migrations/aperture/). +Device42 then automatically creates building, data center, and rack configurations for all rack-mounted devices. With the import completed, Device42’s agentless discovery tool automatically identifies and maps remaining IP-based network devices and intelligent power equipment for ongoing monitoring and management. -Device42 then automatically creates building, data center, and rack configurations for all rack-mounted devices. With the import completed, Device42’s agentless autodiscovery tool automatically identifies and maps remaining IP-based network devices and intelligent power equipment for ongoing monitoring and management. +[Download the Aperture VISTA views](https://www.device42.com/migrations/aperture/). ## Import View -![Import Views](/assets/images/media_1437070133863.png) - -A long list of SQL views is available to give you the ability to pick and choose the information you want to migrate to Device42 from Aperture VISTA. +A long list of SQL views lets you select the information you want to migrate from Aperture VISTA to Device42. -[Download the Aperture VISTA views](https://www.device42.com/migrations/aperture/). +![Import Views](/assets/images/media_1437070133863.png) ## Run View -![Run View](/assets/images/media_1437070334329.png) +Run the views to export data from your Aperture VISTA instance. -By running the views you can easily get data out of your instance of Aperture VISTA. +![Run View](/assets/images/media_1437070334329.png) ## Save Data to CSV or Excel +Right-click anywhere on the data and select **Save Results As...**. + ![Save Data to CSV or Excel](/assets/images/media_1437070455551.png) -Right click anywhere on the data and select **Save Results As...**. +## Save Your File -## Saving Your File +Give the file a name and save the data locally. ![Saving Your File](/assets/images/media_1437070573781.png) -Give the file a name and save the data locally. +## Download the Bulk Import Tool -## Downloading the Bulk Import Tool to Map Fields +[Download the bulk import tool](https://www.device42.com/bulk-data-management/) and use it to map your Aperture VISTA fields to Device42. For detailed instructions, see the [bulk import tool documentation](https://www.device42.com/blog/2015/07/02/bulk-import-your-data-from-any-format-easily-with-new-device42-import-tool/). ![Downloading the Bulk Import Tool to Map Fields](/assets/images/media_1437484542712.png) -[Download the bulk import tool](https://www.device42.com/bulk-data-management/). - -For instructions on how to use the Bulk Import Tool to map your fields, see the [bulk import tool documentation](https://www.device42.com/blog/2015/07/02/bulk-import-your-data-from-any-format-easily-with-new-device42-import-tool/). - -If you have any questions, contact support at [support@device42.com](mailto:support@device42.com). +Contact support at [support@device42.com](mailto:support@device42.com) with any questions. From b8cca2e3a577d9b3c639577b7b81164b9b3aa42a Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Thu, 9 Apr 2026 17:22:37 +0200 Subject: [PATCH 09/41] 1252: language-improvements; azure-migrate --- .../external-integrations/azure-migrate.mdx | 134 +++++++++--------- 1 file changed, 70 insertions(+), 64 deletions(-) diff --git a/docs/integration/external-integrations/azure-migrate.mdx b/docs/integration/external-integrations/azure-migrate.mdx index 9ab4502ec..df591ec5d 100644 --- a/docs/integration/external-integrations/azure-migrate.mdx +++ b/docs/integration/external-integrations/azure-migrate.mdx @@ -3,133 +3,139 @@ title: "Azure Migrate" sidebar_position: 2 --- -You can get to Azure Migrate directly @ [https://portal.azure.com/#create/Microsoft.AzureMigrate](https://portal.azure.com/#create/Microsoft.AzureMigrate) +The Azure Migrate integration lets you assess and migrate servers to Azure using Device42 as the assessment tool. This page covers how to set up Device42 from the Azure Migrate portal, register an Azure Active Directory user, and export your business applications to Azure. -## Setting up Device42 from the Azure Migrate Portal +You can access Azure Migrate directly at [portal.azure.com](https://portal.azure.com/#create/Microsoft.AzureMigrate). -1\. Begin by signing up for an Azure account if you don’t already have one. You’ll have to provide a credit card to verify your identity, and agree to the conditions to continue: +## Set Up Device42 From the Azure Migrate Portal -![Microsoft Azure Migrate](/assets/images/azure_migrate_start_free.png) +1. Begin by signing up for an Azure account if you don't already have one. You will have to provide a credit card to verify your identity and agree to the conditions to continue. -2\. Click the button to continue to the Azure portal, and once there, choose “Assess and Migrate servers” as pictured below: + ![Microsoft Azure Migrate](/assets/images/azure_migrate_start_free.png) -![Sign up for Azure](/assets/images/agree_step_2b.png) +2. Click the button to continue to the Azure portal, and once there, choose **Assess and Migrate Servers**. -![Continue to Azure Portal](/assets/images/Continue_to_Azure_Portal-3.png) + ![Sign up for Azure](/assets/images/agree_step_2b.png) -![Assess and Migrate Servers](/assets/images/Assess_and_migrate_servers-4.png) 3. Next, you’ll want to begin adding migration tools; click “Add a tool.” + ![Continue to Azure Portal](/assets/images/Continue_to_Azure_Portal-3.png) -![Add a tool](/assets/images/add_tool-5.png) + ![Assess and Migrate Servers](/assets/images/Assess_and_migrate_servers-4.png) -4\. Choose an existing Resource Group, or click the “Create new” link (highlighted) to create a new one. The “Resource Group” name represents the group of machines you’ll be migrating, and can be a name of your choosing, but should be descriptive. Then click“OK.” +3. Click **Add a Tool** to begin adding migration tools. -![Name your Migration Project](/assets/images/add_a_tool-5.1.png) + ![Add a tool](/assets/images/add_tool-5.png) -![Create resource group](/assets/images/add_a_tool-create-resource-group-5.2.png) +4. Choose an existing Resource Group, or click **Create New** to create a new one. The resource group name represents the group of machines you will be migrating and should be descriptive. Then click **OK**. -5\. Give your migration project a name, and when finished, click“Next” to continue. + ![Name your Migration Project](/assets/images/add_a_tool-5.1.png) -![Name the project](/assets/images/name_migration_project_5.3.png) + ![Create resource group](/assets/images/add_a_tool-create-resource-group-5.2.png) -6\. Select Device42 as your Azure Migration assessment tool by clicking on it so it is selected as shown below. Click “Next” to choose Device42. +5. Give your migration project a name and click **Next** to continue. -![Select Device42 as assessment tool](/assets/images/add_tool_select_D42-6.png) + ![Name the project](/assets/images/name_migration_project_5.3.png) -7\. You can add a migration tool at this point if know which you want to use, but the default is to skip adding a migration tool for now (you can choose a tool when you are ready to migrate). Make sure the “Skip adding a migration tool for now” checkbox is checked, and click “Next” to continue. +6. Select Device42 as your Azure Migration assessment tool by clicking on it, then click **Next**. -![Skip adding a migration tool](/assets/images/add_tool_skip_migration-6.1.png) + ![Select Device42 as assessment tool](/assets/images/add_tool_select_D42-6.png) -8\. Review your tool choice(s) and then click “Add tool(s)” to continue. +7. You can add a migration tool at this point if you know which one you want to use. Otherwise, leave **Skip adding a migration tool for now** checked and click **Next**. -![Review tool choices](/assets/images/review_add_tool-6.2.png) + ![Skip adding a migration tool](/assets/images/add_tool_skip_migration-6.1.png) -You’ll see confirmation the deployment has been initialized. +8. Review your tool choices and click **Add Tool(s)** to continue. -9\. Click “Learn more” to head to the Device42 information page. + ![Review tool choices](/assets/images/review_add_tool-6.2.png) -![Intializing tool deployment](/assets/images/initializing_deployment-7.png) + You will see confirmation that the deployment has been initialized. -10\. From the Device42 information page, click the orange “Try it now, free” button to jump over to the Device42 download page. + ![Initializing tool deployment](/assets/images/initializing_deployment-7.png) -![Learn more to install D42](/assets/images/Install_d42_trial-8.png) +9. Click **Learn More** to go to the Device42 information page. -11\. Fill out the form and click “Start your Free Trial” to download Device42. Your download should be e-mailed to you immediately. + ![Learn more to install D42](/assets/images/Install_d42_trial-8.png) -![Device42 download page](/assets/images/Click_for_D42_Download_FINAL.png) +10. From the Device42 information page, click the orange **Try It Now, Free** button to go to the Device42 download page. -For help installing Device42, head over to the Device42 documentation: [https://docs.device42.com](https://docs.device42.com). 1. The [Getting Started with Installation section is a great place to begin! [installation](getstarted/deploy-device42/index.mdx). +11. Fill out the form and click **Start Your Free Trial** to download Device42. Your download link will be emailed to you. -2\. Once you’ve installed, you’ll want to begin discovering your environment. See the “Getting started with autodiscovery” section of the documentation here: [getstarted/getting-started-with-auto-discovery.mdx](/getstarted/getting-started-with-auto-discovery.mdx). + ![Device42 download page](/assets/images/Click_for_D42_Download_FINAL.png) -3\. When you’ve finished with discovery and assessment, you can export your discovered data back to Microsoft Azure. Instructions on exporting can be found here: [applications/business-services/building-business-services-in-device42.md#section-15](apps/business-services/building-business-services-in-device42.mdx#section-15). +Once Device42 is installed, start discovering your environment: + +- For installation help, see the [Getting Started with Installation](/getstarted/deploy-device42) section of the documentation. +- To begin discovering your environment, see [Getting Started with Discovery](/getstarted/getting-started-with-auto-discovery). +- To export discovered data back to Microsoft Azure, see [Building Business Services in Device42](/apps/business-services/building-business-services-in-device42). * * * -## Exporting your Business Apps to Azure for Migration +## Export Your Business Apps to Azure for Migration + +Complete the following steps to register an Azure Active Directory user, collect the required credentials, and export your business applications from Device42. -### Register an Azure Active Directory user +### Register an Azure Active Directory User -1\. Login to Azure Portal, and create an "App Registration" in Azure Active Directory. You'll need this user to authenticate to Azure when uploading your export. Create a User: +1. Log in to the Azure portal and create an **App Registration** in Azure Active Directory. You will need this user to authenticate to Azure when uploading your export. -![Create a new Azure User](/assets/images/register_an_application.png) + ![Create a new Azure User](/assets/images/register_an_application.png) -2\. Create Client Secret and Save the value for Device42. +2. Create a client secret and save the value for Device42. -![Create a Client Secret](/assets/images/certificates_and_secrets.png) + ![Create a Client Secret](/assets/images/certificates_and_secrets.png) -3\. Create a new Migration Project _(if you haven't already; see the prior section on this page)_. +3. Create a new migration project if you haven't already (see the [prior section](#set-up-device42-from-the-azure-migrate-portal) on this page). -![Search for Azure Migrate](/assets/images/search_azure_migrate.png) + ![Search for Azure Migrate](/assets/images/search_azure_migrate.png) -4\. Under Subscriptions > Subscription > Access Control (IAM), click "Add" under Add a role assignment. +4. Under **Subscriptions > Subscription > Access Control (IAM)**, click **Add** under **Add a Role Assignment**. -5\. Select a "Contributor" role and type the name of the app registration in the "Select" text box (in this case, the name of our app was _dev\_device42_). +5. Select the **Contributor** role and type the name of the app registration in the **Select** text box. -6\. Select the app registration and Save. This gives the correct permissions to export data from Device42 to Azure. +6. Select the app registration and click **Save**. This grants the correct permissions to export data from Device42 to Azure. -![](/assets/images/Azure-Migrate_Add-Role-Assignment_App-Name.png) + ![](/assets/images/Azure-Migrate_Add-Role-Assignment_App-Name.png) -### Collect required information from Azure +### Collect Required Information From Azure -**Collect the following information from Azure:** +Collect the following information from Azure before exporting: -1\. **Tenant ID:** Azure Active Directory -> Properties +1. **Tenant ID:** **Azure Active Directory > Properties** -![Azure Tenant ID](/assets/images/Tenant_ID.png) + ![Azure Tenant ID](/assets/images/Tenant_ID.png) -2\. **Subscription ID:** Subscriptions +2. **Subscription ID:** **Subscriptions** -![Azure Subscription ID](/assets/images/subscription_ID.png) + ![Azure Subscription ID](/assets/images/subscription_ID.png) -3\. **Client ID:** Azure Active Directory -> App registrations +3. **Client ID:** **Azure Active Directory > App Registrations** -![Azure Client ID](/assets/images/Client_ID.png) + ![Azure Client ID](/assets/images/Client_ID.png) -4\. **Client Secret:** Saved from app registration creation. +4. **Client Secret:** Saved from app registration creation. -5\. **Migrate Project Name:** The name you chose when creating the project. +5. **Migrate Project Name:** The name you chose when creating the project. -### Export your Business Application(s) from Device42 +### Export Your Business Applications From Device42 -1\. Login to Device42 and go to Business Apps. Select one or more Business App(s) to export by checking the check-boxes next to them, and Choose ‘Create Migration for Selected Objects’. +1. Log in to Device42 and go to **Business Apps**. Select one or more business apps to export by checking the checkboxes next to them, then choose **Create Migration for Selected Objects**. -![Select business apps to export](/assets/images/Business_app_selection.png) + ![Select business apps to export](/assets/images/Business_app_selection.png) -2\. Select ‘Azure’ as your _Target_ from the drop-down. +2. Select **Azure** as your target from the dropdown. -![Export to Azure selection](/assets/images/Export_Business_Apps.png) + ![Export to Azure selection](/assets/images/Export_Business_Apps.png) -3\. Enter Migrate Project information from Azure collected in the last step. +3. Enter the migration project information collected in the previous step. -![Enter collected Azure prjoect details](/assets/images/Enter_project_Details.png) + ![Enter collected Azure project details](/assets/images/Enter_project_Details.png) -4\. Click Export. Go back to the Azure Migrate Hub, and click 'Refresh.' You should now see your exported data in Azure! +4. Click **Export**. Go back to the Azure Migrate Hub and click **Refresh**. Your exported data should now be visible in Azure. -![Refresh the Azure Migrate Hub window](/assets/images/Azure_Hub_REFRESH.png) + ![Refresh the Azure Migrate Hub window](/assets/images/Azure_Hub_REFRESH.png) -## Reviewing your Device42 exports in Azure Migrate +## Review Your Device42 Exports in Azure Migrate -After exporting your Business Applications from Device42 _(__as explained in the prior section)_ to the Azure Migrate portal, log back into the Azure Migrate portal, or refresh if you are already logged in. You should see something similar to the following example _(but with your data, of course)_. +After exporting your business applications to the Azure Migrate portal, log back in (or refresh if already logged in). You should see your data displayed similarly to the following examples. ![Device42 Assessment details in Azure Example](/assets/images/Assessment_details_1.png) @@ -137,4 +143,4 @@ After exporting your Business Applications from Device42 _(__as explained in the ![Device42 Assessment details in Azure Example](/assets/images/Assessment_details_3.png) -**If you need help with steps or processes discussed on this page and haven't found the answer here, please don’t hesitate to reach out to [support@device42.com](mailto:support@device42.com)!** +Contact [support@device42.com](mailto:support@device42.com) if you need help with any steps on this page. From da70c319eac519221ca1388556b1615635af1a66 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Thu, 9 Apr 2026 17:26:10 +0200 Subject: [PATCH 10/41] 1252: language-improvements; carbonite-migration --- .../carbonite-migration.mdx | 156 +++++++++--------- 1 file changed, 81 insertions(+), 75 deletions(-) diff --git a/docs/integration/external-integrations/carbonite-migration.mdx b/docs/integration/external-integrations/carbonite-migration.mdx index 0aae5db22..6bd01a8db 100644 --- a/docs/integration/external-integrations/carbonite-migration.mdx +++ b/docs/integration/external-integrations/carbonite-migration.mdx @@ -3,7 +3,7 @@ title: "Carbonite Migration" sidebar_position: 3 --- -Migrate devices using the Device42 Carbonite Migrate feature. +The Device42 Carbonite Migrate feature lets you migrate devices directly from Device42. This page covers system requirements, creating migration jobs, and controlling and managing jobs from the Device42 interface. ## System Requirements @@ -11,113 +11,117 @@ The following software must be installed and running: - Device42 16.22.00+ - Carbonite Agent software version 8.4.0.313+ installed and running on both source and target machines. -- Source and target machines must have all necessary ports open and accessible as mentioned in the Carbonite documentation. Please see the **Windows** section of the following [document](https://download.doubletake.com/_download/8.4/8.4.0.0/Docs/Reference/ReferenceGuide.htm#Servers/Ports.htm). +- Source and target machines must have all necessary ports open and accessible as described in the Carbonite documentation. See the **Windows** section of the following [document](https://download.doubletake.com/_download/8.4/8.4.0.0/Docs/Reference/ReferenceGuide.htm#Servers/Ports.htm). - Source and target machines must have valid Carbonite Move licenses installed and activated. -- (Optional) If you require fine tuning of the various created migration job options, more features, or failover trigger configuration, the source and target machines need to have Carbonite Migrate Replication Console installed (usually installed by default during the Carbonite Agent installation process). The machines you want to monitor or control must be added to the Replication console’s **Servers** list. +- (Optional) If you require fine-tuning of the migration job options, more features, or failover trigger configuration, the source and target machines need to have Carbonite Migrate Replication Console installed (usually installed by default during Carbonite Agent installation). The machines you want to monitor or control must be added to the Replication Console's **Servers** list. ![](/assets/images/WEB-734_Carbonite-servers.png) -- Both the source and client machines need to have compatible Windows operating system versions installed. Please read Carbonite Agent’s official documentation to see all the requirements for the Full Server Migration job type here: [Full server migration requirements](https://download.doubletake.com/_download/8.4/8.4.0.0/Docs/Migrate/Windows/MigrateWindowsUsersGuide.htm#MigrateExisting/MigrateExistingRequirements.htm). +- Both the source and target machines need compatible Windows operating system versions. See the Carbonite Agent documentation for all requirements for the Full Server Migration job type: [Full server migration requirements](https://download.doubletake.com/_download/8.4/8.4.0.0/Docs/Migrate/Windows/MigrateWindowsUsersGuide.htm#MigrateExisting/MigrateExistingRequirements.htm). -## Create a Carbonite Migration Job from D42 Devices +## Create a Carbonite Migration Job -- From D42’s main page, click on the top menu bar’s _Tools_ link and select _Migrations > Migration Jobs_. +1. From the Device42 main menu, click **Tools** and select **Migrations > Migration Jobs**. -![](/assets/images/WEB-734_Carbonite-menu.png) + ![](/assets/images/WEB-734_Carbonite-menu.png) -- On the Migration Jobs list page, click _Add  Migration Job_ at the top right. +2. On the Migration Jobs list page, click **Add Migration Job** at the top right. -![](/assets/images/WEB-734_Carbonite-d42-select-migration-job.png) + ![](/assets/images/WEB-734_Carbonite-d42-select-migration-job.png) -- On the next page, you need to fill out the _Source_ and _Target_ machines’ IP addresses and select their _Secrets_. Do this by clicking on the lens icon next to each field or typing in the IP address or secret directly into the text box. +3. Fill in the **Source** and **Target** machines' IP addresses and select their **Secrets**. Do this by clicking the lens icon next to each field or typing the IP address or secret directly into the text box. -![](/assets/images/WEB-585_Carbonite-4-D42-Migration-Job-IPs.png) + ![](/assets/images/WEB-585_Carbonite-4-D42-Migration-Job-IPs.png) -- If you click the lens icon, you are prompted with a pop-up window which lists all existing IP addresses in the system and the _Device_ name associated with that IP address. Please note that before selecting an IP address, you should make sure it is attached to a device in D42. You can also search for a device by its name by entering the term in the search field. +4. If you click the lens icon, a pop-up window lists all existing IP addresses in the system and the device name associated with each. Note that the IP address must be attached to a device in Device42 before selecting it. You can also search for a device by name using the search field. -![](/assets/images/WEB-734_Carbonite-d42-select-ip-address.png) + ![](/assets/images/WEB-734_Carbonite-d42-select-ip-address.png) -- The process is the same for selecting the _Secret_, which must first be created in D42 and consist of the username and password on the source and target machines. +5. The process is the same for selecting the **Secret**, which must first be created in Device42 and must include the username and password for the source and target machines. -![](/assets/images/WEB-734_Carbonite-d42-select-password.png) + ![](/assets/images/WEB-734_Carbonite-d42-select-password.png) -- Next you have the option of leaving the source server up or shut down after a failover. The option for shutting down the source server is selected by default and should not normally be changed as it will cause IP collisions with the target server as the target will become a clone of the source (including its IP settings). +6. You have the option to leave the source server running or shut it down after a failover. The shutdown option is selected by default and should not normally be changed, as leaving it running will cause IP collisions — the target becomes a clone of the source, including its IP settings. -![](/assets/images/WEB-585_Carbonite-7-D42-Shutdown-Server-Checkbox.png) + ![](/assets/images/WEB-585_Carbonite-7-D42-Shutdown-Server-Checkbox.png) -- After the steps above are complete, the _Verify Job_ option on the bottom control panel is enabled; click it to save the selected settings. It may take a few minutes to complete as D42 waits for  Carbonite Agent to generate the recommended job options and verify if the job can be successfully created. +7. Once the steps above are complete, the **Verify Job** option on the bottom control panel is enabled. Click it to save the selected settings. It may take a few minutes to complete, as Device42 waits for Carbonite Agent to generate the recommended job options and verify that the job can be successfully created. -![](/assets/images/WEB-734_Carbonite-d42-add-migration-job.png) + ![](/assets/images/WEB-734_Carbonite-d42-add-migration-job.png) -- If everything is successful, you should see a similar verification table displayed below the fields. +8. If verification is successful, a verification table is displayed below the fields. -![](/assets/images/WEB-734_Carbonite-d42-verify-job.png) + ![](/assets/images/WEB-734_Carbonite-d42-verify-job.png) -- If any errors are found, they will be displayed in this table and can only be fixed by using the Carbonite Replication console or performing system administrative tasks required to fix a particular failed verification step. In this case you will not be able to save this job until the issues are resolved. If resolved, you should click the _Verify Job_ button again to have the job be verified. -- You can now click any of the Save buttons on the bottom control row to save this job in D42 and have it created on the target server you selected. If you click the regular _Save_ button, you will be taken to the Migration Jobs list page. +9. If any errors are found, they will be shown in this table and can only be fixed using the Carbonite Replication Console or by performing the system administrative tasks required to resolve each failed step. The job cannot be saved until all issues are resolved. Once resolved, click **Verify Job** again to re-verify. -![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view.png) +10. Click any of the **Save** buttons on the bottom control row to save the job in Device42 and create it on the target server. Clicking **Save** takes you to the Migration Jobs list page. + + ![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view.png) ## Control Created Migration Jobs -- From the jobs list page, you’re now able to control the created job via the links next to each job’s name. +From the jobs list page, you can control created jobs using the links next to each job's name. ![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view-2.png) ### Control a Single Job via the Links -- You can start, stop, pause and failover and refresh each job individually by clicking any one of the corresponding job commands. This mimics the functionality of the Carbonite Replication console. Here we click _Start_ to start the first job; after that it may take a few minutes to get the job started and have the Activity column update initially. If the connection between your D42 machine and the source/target servers is slow, you will have to click the _Refresh Status_ link to query the target server again to update the status of the job as we do below. +You can start, stop, pause, failover, and refresh each job individually by clicking the corresponding job command links. This mirrors the functionality of the Carbonite Replication Console. + +Clicking **Start** starts the first job. It may take a few minutes for the job to start and for the **Activity** column to update. If the connection between your Device42 machine and the source or target servers is slow, click the **Refresh Status** link to query the target server again and update the job status. ![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view-3.png) -- You will need to click the _Refresh Status_ link to see if the initial mirroring has completed. +Click **Refresh Status** to check whether the initial mirroring has completed. ![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view-4.png) -- Once the _Activity_ status changes to _Protecting_, the job will failover if any of the triggers set up in the Carbonite Replication console are triggered, or you initiate it manually by clicking the _Failover_ link. -- You can also pause the job by clicking the _Pause_ link to halt whatever is going on, and then resume the job at the point it left off by clicking the _Start_ button. -- You can stop the job by clicking the _Stop_ button to have the job stopped completely, and then clicking _Start_ to start it back up from the very beginning. -- If you click _Failover_, the failover migration process will begin transforming your target machine into source and the source machine will be shut down. -- Once this process has started, it cannot be undone, and when it completes, the source and target IPs on the Migration Jobs list page will become the same. At this point, no other actions can be performed on this job and you will get a message warning you of that if you try the action links. The only thing that can be done at this point if you’re satisfied with the migration is to delete it via the edit screen. +- Once the **Activity** status changes to **Protecting**, the job will failover if any triggers set up in the Carbonite Replication Console are triggered, or if you initiate it manually by clicking the **Failover** link. +- Click **Pause** to halt the job and **Start** to resume it from where it left off. +- Click **Stop** to stop the job completely. Click **Start** to restart it from the beginning. +- Clicking **Failover** begins the failover migration process, transforming the target machine into the source and shutting down the source machine. +- Once this process has started, it cannot be undone. When it completes, the source and target IPs on the Migration Jobs list page will be the same. At that point, no further actions can be performed on the job. The only remaining option is to delete it via the edit screen. ### Control Multiple Jobs via Actions -- You can control multiple jobs at once by selecting several jobs on the Migration Jobs list page and selecting one of the _Action_ drop-down commands. +You can control multiple jobs at once by selecting several jobs on the Migration Jobs list page and choosing a command from the **Action** dropdown. ![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view-5.png) -- All the functionality described in the _Controlling a Single Job via the Links_ section above can be performed on multiple jobs. -- Here we select _Start the selected jobs_ action from the menu and click the lightning bolt button to the right to run this command. You are prompted to confirm this action. Click _Yes, I’m sure_ to continue. +All the functionality described in the [Control a Single Job via the Links](#control-a-single-job-via-the-links) section can be performed on multiple jobs. + +Select **Start the selected jobs** from the action menu and click the lightning bolt button to run the command. You are prompted to confirm the action — click **Yes, I'm Sure** to continue. ![](/assets/images/WEB-585_Carbonite-15-D42-Select-Migration-Job-Action-Menu-Prompt.png) -– This confirmation prompt also applies to all other bulk actions except _Export selected items to CSV_. +This confirmation prompt applies to all bulk actions except **Export selected items to CSV**. -- Some delay is possible at this point if if you are executing a bulk command on a large number of jobs as the execution occurs in a queue on your Carbonite Agent target server. +Some delay is possible when executing a bulk command on a large number of jobs, as execution occurs in a queue on the Carbonite Agent target server. ![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view-6.png) -- You can now run the _Refresh the selected jobs_ action item to have the status of all your selected jobs updated. +Run the **Refresh the selected jobs** action to update the status of all selected jobs. ![](/assets/images/WEB-585_Carbonite-17-D42-Select-Migration-Job-Action-2.png) ![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view-7-refresh.png) -– The status for both jobs has been updated. +The status for both jobs has been updated. -- **Note**: If any job present in D42 has been deleted on your target server externally,  it will be automatically removed from D42 during a bulk refresh. +**Note:** If any job present in Device42 has been deleted on the target server externally, it will be automatically removed from Device42 during a bulk refresh. ### Control a Single Job via the Action Menu -- Any single job can also be controlled via the view page’s _Action_ menu. Click on the job name you want to control in the jobs list. +Any single job can also be controlled via the view page's **Action** menu. Click the job name on the jobs list to open it. ![](/assets/images/WEB-585_Carbonite-19-D42-Select-Migration-Select-Job-Name.png) ![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view-8A-click-ellipse.png) -– Select the action you want to perform. Here we selected _Stop Job_. +Select the action you want to perform. In this example, **Stop Job** is selected. -- After selecting the action, go back to the Migrate Jobs list page and the status of the job should be updated. If there’s a delay between your D42 machine and your target server, click the _Refresh Status_ link to refresh the job status. +After selecting the action, go back to the Migration Jobs list page to see the updated job status. If there is a delay between your Device42 machine and the target server, click **Refresh Status** to refresh the job status. ![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view-9-stopped.png) @@ -125,78 +129,80 @@ The following software must be installed and running: **Delete a Single Job** -- To delete a job, click on the name of the job in the list and click _Edit_ button at the top right. +To delete a job, click the job name in the list and then click the **Edit** button at the top right. ![](/assets/images/WEB-734_Carbonite-d42-view-migration-job-editdelete.png) -- Now click _Delete_ at the bottom left of the Change Migration Job page. The job will be deleted from D42 and the target server running Carbonite Migrate. +Click **Delete** at the bottom left of the Change Migration Job page. The job will be deleted from Device42 and from the target server running Carbonite Migrate. ![](/assets/images/WEB-734_Carbonite-d42-view-migration-job-delete-button.png) -**Deleting Multiple Jobs via the Action Menu** +**Delete Multiple Jobs via the Action Menu** -- Check the jobs you would like to delete from the Migration Jobs list page and select _Delete with Detailed Confirmation_ from the _Action_ menu. +Check the jobs you want to delete from the Migration Jobs list page and select **Delete with Detailed Confirmation** from the **Action** menu. ![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view-10-2-selects.png) -- Click the lightning bolt button to the right to begin the process. Confirm your action on the next page. Your jobs will be deleted from D42 and the target server(s) running Carbonite Migration agent. +Click the lightning bolt button to begin the process. Confirm the action on the next page. The jobs will be deleted from Device42 and from the target server(s) running Carbonite Migration agent. ### Modify Job Options -**Shutdown Source Server after Failover** +**Shutdown Source Server After Failover** -You can change the option of shutting down the source server after a failover. This is mostly used for troubleshooting or testing the failover feature. Note that if you disable this option, the source and target will have the same IP address assigned at the end of the failover and this might cause issues where you will have to shutdown the source server manually. +You can change whether the source server is shut down after a failover. This is mostly used for troubleshooting or testing the failover feature. Note that if you disable this option, the source and target will share the same IP address at the end of the failover, which may require you to shut down the source server manually. -- Select the job you want to change this option on by clicking the job’s name on the Migration Jobs list page. +1. Click the job name on the Migration Jobs list page to open it. -![](/assets/images/WEB-585_Carbonite-25-D42-Select-Migration-Click-Job-Name.png) + ![](/assets/images/WEB-585_Carbonite-25-D42-Select-Migration-Click-Job-Name.png) -- On the following page, click _Edit_ at the top right of the page. +2. Click **Edit** at the top right. -![](/assets/images/WEB-734_Carbonite-d42-view-migration-job-click-edit-button.png) + ![](/assets/images/WEB-734_Carbonite-d42-view-migration-job-click-edit-button.png) -- On the next page, uncheck the _Shutdown source server after failover_ checkbox and click _Save_ at the bottom to have this option disabled on your Carbonite Agent target server. +3. Uncheck the **Shutdown source server after failover** checkbox and click **Save** to disable this option on the Carbonite Agent target server. -![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view-10-2-uncheckselect.png) + ![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view-10-2-uncheckselect.png) ### Change and Update Credentials -If you have changed the username or password of your target or source servers, you can update these in the existing job without having to recreate it. +If you have changed the username or password of your target or source servers, you can update these in the existing job without recreating it. -- Begin by clicking the job name you want to edit on the job list page and click Edit button on the View Migration Job page that follows. +1. Click the job name on the job list page, then click the **Edit** button on the View Migration Job page. -![](/assets/images/WEB-734_Carbonite-d42-view-migration-job-click-edit-button-2.png) + ![](/assets/images/WEB-734_Carbonite-d42-view-migration-job-click-edit-button-2.png) -- In this example, we have added a new username _vagrant_ to the source and target machines, so we will select both the source and the target secrets to change. But you can also change just the source or the target secret. +2. Select the source and target secrets you want to change. You can update just the source, just the target, or both. -![](/assets/images/WEB-585_Carbonite-30-D42-Change-Migration-Job.png) + ![](/assets/images/WEB-585_Carbonite-30-D42-Change-Migration-Job.png) -- After the new secrets have been selected, just click _Save_ button at the bottom or _Save and continue editing_ to see if the changes have been accepted by the server and have been saved successfully. If there were issues while trying to update the credentials, the new settings will be canceled and the old secret will still show. +3. After selecting the new secrets, click **Save** or **Save and Continue Editing** to confirm the changes. If there were issues updating the credentials, the new settings will be canceled and the old secret will still show. -![](/assets/images/WEB-734_Carbonite-d42-view-migration-job-delete-button-1.png) + ![](/assets/images/WEB-734_Carbonite-d42-view-migration-job-delete-button-1.png) -– The source and target secrets have been changed and saved to the Carbonite target server’s job and the D42 database. + The source and target secrets have been updated and saved to the Carbonite target server's job and the Device42 database. -- You can also verify that the credentials update operation has successfully completed by examining the job in the Carbonite Replication console’s Jobs tab and clicking the _View Recent Activity_ button in the job control row. +4. You can verify that the credentials update completed successfully by examining the job in the Carbonite Replication Console's **Jobs** tab and clicking **View Recent Activity** in the job control row. -![](/assets/images/WEB-734_Carbonite-jobs.png) + ![](/assets/images/WEB-734_Carbonite-jobs.png) -- **Note**: If you only updated the password on the source or target, you would first need to create a new D42 secret with the new login credentials information or update your existing secret from D42’s _Resources > Secrets_ menu. +**Note:** If you only updated the password on the source or target, you must first create a new Device42 secret with the new login credentials or update the existing secret from **Resources > Secrets**. ![](/assets/images/WEB-734_Secrets-menu.png) -- Once updated or added, you can perform the above procedure for the job(s) of your choice. +Once updated or added, you can perform the above procedure for the jobs of your choice. ### Export Jobs to a CSV File -You can export the jobs displayed on the Migration Jobs list page via the _Export selected items to CSV_ Action menu item. +You can export the jobs displayed on the Migration Jobs list page using the **Export selected items to CSV** action. + +1. Select the jobs you want to export and choose **Export selected items to CSV** from the **Action** menu. Click the lightning bolt icon to begin. + + ![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view-12.png) -- Select the jobs you want exported to CSV from the list and select _Export selected items to CSV_ from the Action menu. Click the lightning bolt icon to begin the process. +2. You are prompted to save the `.csv` file to a directory of your choice. The file will be named `migration-job.csv`. -![](/assets/images/WEB-734_Carbonite-d42-select-migration-job-to-view-12.png) +3. Note that if you are using Excel 2019 or later, the file must be imported rather than simply opened. Opening the file directly through Excel will result in incorrect formatting and some fields may be missing. -- You are prompted to save the csv file to a directory of your choice. The file will have a name **migration-job.csv**. -- Note that if you’re using Excel 2019+, the file needs to be imported and not simply opened. If you just open the file through Excel, you will have incorrect formatting of the data and some fields may be missing. -- The resulting file will look like the following. + The resulting file will look similar to the following. -![](/assets/images/WEB-734_Carbonite-d42-exported-cvs.png) + ![](/assets/images/WEB-734_Carbonite-d42-exported-cvs.png) From e0f591a9d4f9b42e5b0bbe5e2ba12d28a7018975 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Thu, 9 Apr 2026 17:29:01 +0200 Subject: [PATCH 11/41] 1252: language-improvements; cherwell-integration --- .../cherwell-integration.mdx | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/docs/integration/external-integrations/cherwell-integration.mdx b/docs/integration/external-integrations/cherwell-integration.mdx index f5c5849a6..1998cbc22 100644 --- a/docs/integration/external-integrations/cherwell-integration.mdx +++ b/docs/integration/external-integrations/cherwell-integration.mdx @@ -7,7 +7,7 @@ Use the [Device42-Cherwell integration](https://www.device42.com/integrations/ch The Device42-Cherwell integration requires a working Cherwell installation, Device42 instance, and assumes a Linux server with Python version 3.5 or later. -## Configuring Cherwell +## Configure Cherwell To prepare Cherwell to accept relationship data from Device42, two new Configuration Item (CI) types must be created in Cherwell: one for **apps** and one for **services**. @@ -21,7 +21,7 @@ Follow these steps to create the new CIs: ![Create new CI for applications](/assets/images/Create_application_CI_business_object_properties.png) -3. Obtain the **Internal ID** of the new Application Business Object CI you just created (you'll need it for the config file) before closing the window by selecting the **Advanced** icon and clicking **Business Object ID**: +3. Obtain the **Internal ID** of the new Application Business Object CI you just created (you will need it for the config file) before closing the window by selecting the **Advanced** icon and clicking **Business Object ID**: ![Cherwell CI business object internal ID](/assets/images/Obtain_Cherwell_internal_ID_application_CI.png) @@ -31,7 +31,7 @@ Follow these steps to create the new CIs: 5. Add a second new CI business object named `Config-Service` to Cherwell for Services by repeating Steps 2-4. -## Configuring the Device42-Cherwell Integration +## Configure the Device42-Cherwell Integration To sync your discovered hardware, servers, software, services, or assets (CIs) from Device42 to Cherwell, configure the integration: @@ -39,12 +39,19 @@ To sync your discovered hardware, servers, software, services, or assets (CIs) f 2. Download the sample `mapping.xml` configuration file from [Device42's GitHub](https://github.com/device42/cherwell_device42_sync/blob/master/mapping.xml.sample) and put it into the folder you created in Step 1. 3. Configure the integration credentials to allow connection between Device42 and Cherwell: - Save a copy of `mapping.xml.sample` as `mapping.xml`. - - Enter your Cherwell and Device42 **URLs**, **user names**, and **passwords** in their respective sections (lines 3-11), and for Cherwell only, the `client_id` - find it in your Cherwell instance under **Cherwell Service Management Administration > Security > Edit REST API Client Settings > Client Key**. -4. Configure the tasks section (below the credential settings) by entering the Cherwell Business Object IDs you saved from above, mapping each Device42 API resource to be synced (the `resource` value) to the appropriate fields in Cherwell (the `target` value). It is very important to ensure you've updated the configuration completely, mapping all of the details you are syncing from Device42 to their appropriate default endpoints in Cherwell (for example, `service_level`). Should you have trouble or need debugging, there is a `DEBUG` variable in `lib.py` which can be set to `True` or `False`. -5. Execute a one-time CI sync by running the following command: `python sync.py`. -6. Schedule your syncs to run automatically by adding a `crontab` entry that will execute `sync.py` as often as you deem necessary, depending on the rate of change in your environment and existing discovery job schedules. This [crontab generator](https://crontab-generator.org/) can help you generate crontab syntax appropriate for your schedule. This example runs twice a day at noon and midnight: + - Enter your Cherwell and Device42 **URLs**, **usernames**, and **passwords** in their respective sections (lines 3-11), and for Cherwell only, the `client_id` — find it in your Cherwell instance under **Cherwell Service Management Administration > Security > Edit REST API Client Settings > Client Key**. +4. Configure the tasks section (below the credential settings) by entering the Cherwell Business Object IDs you saved from above, mapping each Device42 API resource to be synced (the `resource` value) to the appropriate fields in Cherwell (the `target` value). Ensure you have updated the configuration completely, mapping all of the details you are syncing from Device42 to their appropriate default endpoints in Cherwell (for example, `service_level`). Should you have trouble or need debugging, there is a `DEBUG` variable in `lib.py` which can be set to `True` or `False`. +5. Execute a one-time CI sync by running: -```0 */12 * * * python sync.py >/dev/null 2>&1``` + ``` + python sync.py + ``` + +6. Schedule your syncs to run automatically by adding a `crontab` entry that executes `sync.py` as often as needed, depending on the rate of change in your environment and existing discovery job schedules. This [crontab generator](https://crontab-generator.org/) can help you generate the right syntax. The following example runs twice a day at noon and midnight: + + ``` + 0 */12 * * * python sync.py >/dev/null 2>&1 + ``` ## Application Group Configuration for Cherwell @@ -71,7 +78,7 @@ Each section must contain the following attributes: Each section must contain one or more upstream and downstream relationships. The section represents a one-to-many downstream relationship and must contain the following attributes: - `d42-model`: The name of the CI (model) in Device42 of the 'child' in relationship -- `id`: The ID of the relationship (the `CI links Downstream CIs` relationship should be used in most cases). This value can be obtained in Cherwell from **Cherwell Service Management Administration > blueprint > Config > Edit relationships... > relationship > Edit > Advanced > Relationship ID**. Please make sure the relationship has a reversed one (`Upstream`). +- `id`: The ID of the relationship (the `CI links Downstream CIs` relationship should be used in most cases). This value can be obtained in Cherwell from **Cherwell Service Management Administration > blueprint > Config > Edit relationships... > relationship > Edit > Advanced > Relationship ID**. Make sure the relationship has a reversed one (`Upstream`). The Service Instances and Application Components sections must include the section for creating new objects in Cherwell. Mappings are not applicable for devices, as they should be processed in their own tasks. From 3ca86b8be823eec638bd7cb709b256458879dc1b Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Thu, 9 Apr 2026 17:31:11 +0200 Subject: [PATCH 12/41] 1252: language-improvements; device42-cloud-connector-overview --- .../device42-cloud-connector-overview.mdx | 35 +++++++++---------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/docs/integration/external-integrations/device42-cloud-connector-overview.mdx b/docs/integration/external-integrations/device42-cloud-connector-overview.mdx index 640a8dc10..d889c2a7a 100644 --- a/docs/integration/external-integrations/device42-cloud-connector-overview.mdx +++ b/docs/integration/external-integrations/device42-cloud-connector-overview.mdx @@ -8,9 +8,9 @@ import useBaseUrl from '@docusaurus/useBaseUrl' The Device42 Cloud Connector is a cloud-based solution that sends data from your Device42 appliance to external applications. -Many Device42 appliances are kept behind tight firewalls, which means external applications can't communicate with them directly. The Cloud Connector solves this problem by securely routing requests from external integrations directly to your Device42 appliance (which would otherwise be unreachable). +Many Device42 appliances are kept behind tight firewalls, which means external applications cannot communicate with them directly. The Cloud Connector solves this problem by securely routing requests from external integrations directly to your Device42 appliance (which would otherwise be unreachable). -The Cloud Connector uses a secure WebSocket connection that's initiated internally by the Device42 appliance. This way, your appliances stay protected, and you don’t have to risk exposing your Device42 instance to the internet in order to allow requests from external applications. +The Cloud Connector uses a secure WebSocket connection that is initiated internally by the Device42 appliance. This way, your appliances stay protected, and you do not have to risk exposing your Device42 instance to the internet in order to allow requests from external applications. ![Cloud Connector chart](/assets/images/device42-cloud-connector-overview/Cloud-Connector.png) @@ -24,25 +24,22 @@ The Device42 Cloud Connector is hosted by AWS, and takes advantage of its indust The following external integrations use the Cloud Connector: -- [Freshworks (Freshservice)](integration/external-integrations/freshservice-integration/index.mdx) -- [ServiceNow](integration/external-integrations/device42-servicenow-connector.mdx) -- [Atlassian (Jira Cloud)](integration/external-integrations/jira-integrations/device42-jira-cloud-integration.mdx) -- [Zendesk](integration/external-integrations/device42-zendesk-connector.mdx) -- [Cloud Recommendation Engine](reports/reports/cloud-recommendation-engine.mdx) +- [Freshworks (Freshservice)](/integration/external-integrations/freshservice-integration) +- [ServiceNow](/integration/external-integrations/device42-servicenow-connector) +- [Atlassian (Jira Cloud)](/integration/external-integrations/jira-integrations/device42-jira-cloud-integration) +- [Zendesk](/integration/external-integrations/device42-zendesk-connector) +- [Cloud Recommendation Engine](/reports/reports/cloud-recommendation-engine) - Slack -- [Opsgenie](integration/external-integrations/opsgenie-integration.mdx) -- [PagerDuty](integration/external-integrations/pagerduty-integration.mdx) +- [Opsgenie](/integration/external-integrations/opsgenie-integration) +- [PagerDuty](/integration/external-integrations/pagerduty-integration) ## Configure the Cloud Connector Go to **Tools > Integrations > Cloud Services** to configure the Cloud Connector. - Click **Edit** and enter your Device42 instance's URL or IP address in this field. For example, `https://myd42url.com`. - - Choose which **Cloud Connector** location to use: **USA**, **Europe**, **Australia**, **India**, or **Middle East**. Note that only the **USA** location supports the Jira Cloud, Zendesk, and Slack integrations. - -- The **EnrichAI** option is **Enabled** by default. The data Normalization and Enrichment Service is a Device42 feature that uses reliable sources to populate additional device attributes, such as the vendor, OS, and key support dates. See the [Enriched Data page](auto-discovery/enriched-data/index.mdx) for more details. If you do not want to use the data Normalization and Enrichment Service, you can disable it from this Cloud Services page. - +- The **EnrichAI** option is **Enabled** by default. The Data Normalization and Enrichment Service is a Device42 feature that uses reliable sources to populate additional device attributes, such as the vendor, OS, and key support dates. See the [Enriched Data page](/auto-discovery/enriched-data) for more details. To disable the Data Normalization and Enrichment Service, turn it off from this Cloud Services page. - **Save** your changes. Integrations > Cloud Services** to configure the Cloud Connector If you need a new GUID, exit edit mode to go to view mode, and click the **Regenerate Instance GUID** button at the top right of the page. -## Cloud Connector / WebSocket Security Architecture +## Cloud Connector and WebSocket Security Architecture The Cloud Connector handles routing requests from each external integration instance to the proper Device42 appliance endpoint via three GUID keys. These three GUIDs act as unique digital markers for identifying, authenticating, and routing requests. -- The “appliance GUID” -- The “verification token GUID” -- The “am_guid” +- The `appliance GUID` +- The `verification token GUID` +- The `am_guid` The verification token is used to search a Cloud Connector database for the account that matches the given verification token. Once the matching verification token has been found, the request is forwarded to that appliance by the WebSocket Server, as identified by the appliance GUID. ### Cloud Connector IPs -Device42 uses Cloudflare for the Cloud Connector. It is better to add the DNS of the Cloud Connector to your firewall than to add the Cloudflare IPs, as the DNS won't change. The table below lists the DNS addresses for each region. If you need specific IPv4 and IPv6 addresses, please refer to the Cloudflare [IP Ranges](https://www.cloudflare.com/en-in/ips/) documentation. +Device42 uses Cloudflare for the Cloud Connector. Adding the Cloud Connector DNS to your firewall is preferable to adding Cloudflare IPs, as the DNS addresses do not change. The table below lists the DNS addresses for each region. For specific IPv4 and IPv6 addresses, refer to the Cloudflare [IP Ranges](https://www.cloudflare.com/en-in/ips/) documentation. | Region | DNS | |--------|-----| @@ -78,5 +75,5 @@ Device42 uses Cloudflare for the Cloud Connector. It is better to add the DNS of | Middle East | connect-me.device42.io | :::tip -If you have a question that isn't answered above, please email [support@device42.com](mailto:support@device42.com). We'll gladly answer your queries and include the solutions here. +If you have a question not answered above, email [support@device42.com](mailto:support@device42.com). ::: From 62eaa0358d4c8c2b4fe4cb8c9438773b84213229 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Thu, 9 Apr 2026 17:34:10 +0200 Subject: [PATCH 13/41] 1252: language-improvements; cloud-services-settings --- .../external-integrations/cloud-services-settings.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/integration/external-integrations/cloud-services-settings.mdx b/docs/integration/external-integrations/cloud-services-settings.mdx index a09354e56..d629e3bec 100644 --- a/docs/integration/external-integrations/cloud-services-settings.mdx +++ b/docs/integration/external-integrations/cloud-services-settings.mdx @@ -6,9 +6,9 @@ sidebar_position: 6 import ThemedImage from '@theme/ThemedImage' import useBaseUrl from '@docusaurus/useBaseUrl' -The Cloud Services page is used to configure your global external integration settings and the option to disable (or enable) the [Enriched Data](auto-discovery/enriched-data/index.mdx) normalization feature for discovered data. The contents of the Cloud Services page were formerly part of the Global Settings page. +The Cloud Services page configures your global external integration settings and the [Enriched Data](/auto-discovery/enriched-data) normalization feature for discovered data. The contents of this page were formerly part of the Global Settings page. -See the [Cloud Connector](device42-cloud-connector-overview.mdx) docs page for an explanation of how Device42 manages communication with third-party services. +See the [Cloud Connector](/integration/external-integrations/device42-cloud-connector-overview) page for an explanation of how Device42 manages communication with third-party services. ## Integration Settings @@ -28,4 +28,4 @@ Navigate to **Tools > Cloud Services** and click the **Edit** button to make cha - **Device42 GUID:** GUID of your Device42 instance (read-only). Click **Regenerate Instance GUID** at the upper right of the page (in view mode) for a new GUID. - **Cloud Connector:** Select your Cloud Connector region. - **Cloud Services:** Device42 checks your license and registration status to determine whether Cloud Services are ready. Contact [support@device42.com](mailto:support@device42.com) if your Cloud Services are not ready. -- **EnrichAI:** You can use this option to disable the Enriched Data integration if you want. Click **disable** and then **Save** to disable the service. You can enable the service again at any time. +- **EnrichAI:** Enables or disables the Enriched Data integration. Click **Disable** and then **Save** to disable the service. You can re-enable it at any time. From d8ecb82f6f7c8944f29aa1ea2af7419a9fc8bc06 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Fri, 10 Apr 2026 13:59:42 +0200 Subject: [PATCH 14/41] 1252: language-improvements; device42-confluence-connector --- .../device42-confluence-connector.mdx | 266 ++++++++++-------- 1 file changed, 141 insertions(+), 125 deletions(-) diff --git a/docs/integration/external-integrations/device42-confluence-connector.mdx b/docs/integration/external-integrations/device42-confluence-connector.mdx index 48eaa13b4..aa2157d56 100644 --- a/docs/integration/external-integrations/device42-confluence-connector.mdx +++ b/docs/integration/external-integrations/device42-confluence-connector.mdx @@ -3,250 +3,266 @@ title: "Confluence Integration" sidebar_position: 7 --- -This integration connects Device42 to your Atlassian Confluence instance with the following features: +The Device42 Confluence integration connects Device42 to your Atlassian Confluence instance, letting you display and sync Device42 CI data directly within Confluence pages. This page covers installation, configuration, synchronization, space filters, and macros. -- Display details of particular Device42 object (devices, racks, PDUs and parts are supported). -- Display inline link to particular Device42 object (devices, racks, PDUs and parts are supported). -- Display table of Device42 objects. +The integration supports the following features: + +- Display details of a particular Device42 object (devices, racks, PDUs, and parts are supported). +- Display an inline link to a particular Device42 object (devices, racks, PDUs, and parts are supported). +- Display a table of Device42 objects. - Synchronize Device42 data with Confluence manually or periodically. -- Filter set of Device42 CIs to display inside macros for specific space. +- Filter the set of Device42 CIs to display inside macros for a specific space. ## Install the Confluence Integration Add-On -Device42's Atlassian Confluence add-on (aka "Device42 CMDB Connector for Confluence") can be found [in the Atlassian Marketplace](https://marketplace.atlassian.com/apps/1213754/device42-cmdb-connector-for-confluence?hosting=server&tab=overview). You can easily install it using the UPM (Universal Plugin Manager) built in to Confluence. However, if you have some special requirements (e.g. an environment that blocks Confluence from access to the internet), it is possible to install the Device42 Confluence integration plugin manually. Please note that the plugin requires a stable connection between the servers hosting your Confluence application and that which is hosting Device42 for successful operation. +Device42's Atlassian Confluence add-on ("Device42 CMDB Connector for Confluence") can be found [in the Atlassian Marketplace](https://marketplace.atlassian.com/apps/1213754/device42-cmdb-connector-for-confluence?hosting=server&tab=overview). You can install it using the UPM (Universal Plugin Manager) built in to Confluence. If you have special requirements (for example, an environment that blocks Confluence from accessing the internet), you can install the plugin manually. Note that the plugin requires a stable connection between the servers hosting your Confluence application and the server hosting Device42. :::info The Confluence plugin is now certified for Data Center and is available on the [Atlassian Marketplace](https://marketplace.atlassian.com/apps/1213754/device42-cmdb-connector-for-confluence?hosting=datacenter&tab=overview). ::: -### Automatic installation +### Install Automatically + +1. Log in as a user with **Confluence System Administrators** global permission. +2. From the Confluence administration console, in the **Atlassian Marketplace** section, select the **Find Add-Ons** menu. +3. In the search field, type **Device42** and press **Enter**. You should see the following screen: + + ![confluence-connector-01.png](/assets/images/confluence-connector-01.png) -**Installing the add-on:** +4. Click **Install**. A confirmation message appears when the add-on is successfully installed. -1. Log in as a user with '**Confluence System Administrators**' global permission. -2. From the Confluence administration console, int the **Atlassian marketplace** section select **Find add-ons** menu. -3. In the search field type '**Device42**' and press '**Enter**'.You should see the following screen:![confluence-connector-01.png](/assets/images/confluence-connector-01.png) -4. Click the '**Install**' buttonA confirmation message appears when the add-on is successfully installed. +You can now manage the add-on from the user-installed add-on list on the **Manage Add-Ons** page. -You can now manage the add-on from the user-installed add-on list on the **Manage add-ons** page. +### Install Manually -### Manual installation +1. Download the latest version of the add-on from the [Atlassian Marketplace: Device42 CMDB Connector for Confluence](https://marketplace.atlassian.com/apps/1213754/device42-cmdb-connector-for-confluence?hosting=server&tab=overview). If you do not have internet access, download the `.jar` file from a computer outside your network and transfer it manually. +2. Log in as a user with **Confluence System Administrators** global permission. +3. From the Confluence administration console, click **Add-Ons** and select **Manage Add-Ons**. +4. Click the **Upload Add-On** link at the top right of the page. The following dialog appears: -**To install the add-on manually:** + ![confluence-connector-02.png](/assets/images/confluence-connector-02.png) -1. Download the latest version of add-on from our github, or download from the [Atlassian Marketplace: Device42 CMDB Connector for Confluence](https://marketplace.atlassian.com/apps/1213754/device42-cmdb-connector-for-confluence?hosting=server&tab=overview). If you don't have internet connecton (i.e. you have the secured sandbox environment) you can download the .jar file from a computer outside your network, and bring it using a thumb drive. -2. Log in as a user with '**Confluence System Administrators**' global permission. -3. From the Confluence administration console, click the **Add-ons**. Select **Manage add-ons**. -4. Click the **Upload add-on** link at the top right side of the page.The following dialog appears.![confluence-connector-02.png](/assets/images/confluence-connector-02.png) -5. Enter the location of the JAR file (from step 1) to upload using the file chooser or by specifying a network location by entering a URL. -6. Click **Upload**.A confirmation message will appear when the add-on has been successfully installed. +5. Enter the location of the `.jar` file (from step 1) using the file chooser, or specify a network location by entering a URL. +6. Click **Upload**. A confirmation message appears when the add-on is successfully installed. -You can now manage the add-on from the add-on list ("user-installed add-ons"), found on the **Manage add-ons** page. +You can now manage the add-on from the user-installed add-on list on the **Manage Add-Ons** page. ## Configure the Device42 Confluence Add-On -To configure the add-on: +1. Log in as a user with **Confluence Administrators** global permission. +2. From the Confluence administration console, select **DEVICE42 CONNECTOR > Device42 Connection** to open the configuration page. + + > Keyboard shortcut: **g + g +** start typing **Device42**. -1. Log in as a user with '**Confluence Administrators**' global permission. -2. From the Confluence administration console, Select **DEVICE42 CONNECTOR** > **Device42 Connection** to open the configuration page. - - > Keyboard shortcut : **g + g +** start typing **Device42**. - You will see the configuration screen: - + ![confluence-connector-03.png](/assets/images/confluence-connector-03.png) -## Set Up the Device42 - Confluence Connection +## Set Up the Device42-Confluence Connection + +1. On the configuration page, click **Edit** to set up the connection to your Device42 instance. The following page opens: + + ![confluence-connector-04.png](/assets/images/confluence-connector-04.png) + +2. Enter the connection information. +3. Click **Save**. +4. The saved details are displayed on the configuration view screen. + +### Synchronize Manually + +Data from your Device42 instance is cached inside the internal Confluence database. To keep your data updated, run a sync periodically — either automatically or manually. + +To launch an immediate synchronization: -1. On the configuration page click **Edit** to setup connection to Device42 instance.The following page opens.![confluence-connector-04.png](/assets/images/confluence-connector-04.png) -2. Enter the connection information -3. Click '**Save**'. -4. You will see the saved details on the configuration view screen +1. On the configuration information page, click **Update**. +2. A confirmation dialog appears. Click **Update Data**. +3. Wait a few seconds for the server to request new data from Device42. +4. After synchronization completes, you will see the following on the synchronization info screen: -### Synchronize manually + ![confluence-connector-05.png](/assets/images/confluence-connector-05.png) -Data from your Device42 instance is cached inside the internal Confluence database. To keep your data updated, you should run a sync periodically. You can do this automatically or manually. + ![confluence-connector-06.png](/assets/images/confluence-connector-06.png) -**To launch an immediate synchronization:** + ![confluence-connector-07.png](/assets/images/confluence-connector-07.png) -1. On the configuration information page, click the '**Update**' button -2. A confirmation dialog will appear. Press the '**Update Data**' button inside that dialog -3. Wait a couple of seconds until the server requests the new data from Device42 -4. After the synchronization has completed, you will see the following on the synchronization info screen: +### Set Up Automatic Synchronization -![confluence-connector-05.png](/assets/images/confluence-connector-05.png) -![confluence-connector-06.png](/assets/images/confluence-connector-06.png) -![confluence-connector-07.png](/assets/images/confluence-connector-07.png) +You can set up automatic updates using cron expressions. -### Set up automatic synchronization +1. On the configuration information page, click **Setup Cron**. +2. Enter the cron expression rule in the cron configuration dialog: -You can set up the automatic update using the Cron Expressions. + ![confluence-connector-08.png](/assets/images/confluence-connector-08.png) -1. On the configuration information click '**Setup Cron**' button -2. Enter the cron expression rule inside the cron configuration dialog![confluence-connector-08.png](/assets/images/confluence-connector-08.png)![confluence-connector-09.png](/assets/images/confluence-connector-09.png) -3. Click '**Save**' button -4. You will see the saved details on the configuration view screen + ![confluence-connector-09.png](/assets/images/confluence-connector-09.png) -**Note:** The Device42 Confluence Connector integration uses the default Confluence Scheduler mechanism. Instead of using the "Update Data" dialog or the "Setup Cron" dialog, you can instead use the Scheduled Jobs menu to run Device42 Update jobs directly from that page. You may also set up a cron schedule if desired, and those changes will be automatically reflected on the Device42 Configuration page. By default, the job is scheduled to run on the midnight server time on the daily basis. +3. Click **Save**. +4. The saved details are displayed on the configuration view screen. + +**Note:** The Device42 Confluence Connector uses the default Confluence Scheduler mechanism. Instead of using the **Update Data** dialog or the **Setup Cron** dialog, you can use the **Scheduled Jobs** menu to run Device42 update jobs directly. You can also set up a cron schedule there, and those changes will be reflected automatically on the Device42 Configuration page. By default, the job runs daily at midnight server time. ![confluence-connector-11.png](/assets/images/confluence-connector-11.png) ## Configure Confluence Space Filters +Space filters control which Device42 CIs are visible within specific Confluence spaces and macros. + ### Filter Settings -Each Confluence space can have a space filter configured. There can be multiple filters configured for one or multiple CI types. If you’re configuring multiple filters for one CI type, you can then use these filters separately by adding multiple table macros to the space and selecting each “Space filter” you have created to be able to filter that CIs on multiple values/categories. +Each Confluence space can have a space filter configured. Multiple filters can be configured for one or more CI types. If you configure multiple filters for one CI type, you can use them separately by adding multiple table macros to the space and selecting each space filter to filter CIs on different values or categories. -**Note:** Pagination is not yet available for the table macro, if you need to view more than the default 50 results in the table, you can change this value on the Device42 plugin connection screen and set the “Dropdown Limit” to a higher value like 100 or 150. Don’t set this value too high as this will might cause significant delays in drop down displays for the plugin: +**Note:** Pagination is not yet available for the table macro. If you need to view more than the default 50 results, change the **Dropdown Limit** value on the Device42 plugin connection screen to a higher value like 100 or 150. Do not set this value too high, as it may cause significant delays in dropdown displays. ![](/assets/images/Confluence-1.gif) -1\. The filter settings are accessed from the “Space Tools” menu at the bottom left corner: +1. Access filter settings from the **Space Tools** menu at the bottom left corner: -![](/assets/images/Confluence-2.gif) + ![](/assets/images/Confluence-2.gif) -2\. On the settings page you can configure any CI or multiple CIs using one interface. Note that if you configure the “Device” CI and the “Parts” CI for example, the filter will be applied only to the CI you have selected in your Table Macro drop down: +2. On the settings page, configure any CI or multiple CIs using one interface. Note that if you configure the **Device** CI and the **Parts** CI, the filter will be applied only to the CI selected in your **Table Macro** dropdown: -![](/assets/images/Confluence-3.gif) + ![](/assets/images/Confluence-3.gif) -3\. Let’s configure a space filter to show Software with a name of “.NET”: +3. Configure a space filter to show software with a name of `.NET`: -![](/assets/images/Confluence-4.gif) + ![](/assets/images/Confluence-4.gif) -4\. Don’t leave this screen until you get the green confirmation prompt confirming your filter has been saved. This is required so the plugin has the time necessary to process the filtering of the database items stored in your Confluence database. +4. Do not leave this screen until you get the green confirmation prompt confirming your filter has been saved. This gives the plugin time to process the filtering of the database items stored in your Confluence database. -5\. Once the filter has been saved, you can go back to the space with your table macro and apply it to the CI you have created the filter for, save the space and view the results: +5. Once the filter has been saved, go back to the space with your table macro, apply it to the CI you created the filter for, save the space, and view the results: -![](/assets/images/Confluence-5.gif) + ![](/assets/images/Confluence-5.gif) -![](/assets/images/Confluence-5-B.gif) + ![](/assets/images/Confluence-5-B.gif) ### Filter Templates -Filter templates allow a user to configure a global filter template which can then be used in any specific Confluence space with predefined CIs and values for each of the CI’s fields. - -This can be useful when you need to define a preconfigured template that you use in multiple CI space filters instead of having to create a separate one for each space. +Filter templates allow you to configure a global filter template that can then be used in any Confluence space with predefined CIs and values for each CI's fields. This is useful when you need a preconfigured template across multiple CI space filters instead of creating a separate one for each space. -1\. Access the Filter Templates by clicking on the _Device42 Filter Templates_ link from the Device42 Connector menu found on the left hand side of Confluence’s main menu. +1. Access filter templates by clicking the **Device42 Filter Templates** link from the Device42 Connector menu on the left side of Confluence's main menu. -![](/assets/images/Confluence-6.gif) + ![](/assets/images/Confluence-6.gif) -2\. A settings page will open with the following items: +2. A settings page opens with the following items: -![](/assets/images/Confluence-7.gif) + ![](/assets/images/Confluence-7.gif) -3\. Above, a new template filter can be created by clicking on the Filter templates drop down and selecting “Create new…” menu item and entering a name of your choice like “parts\_fan” above for example. +3. Create a new template filter by clicking the **Filter Templates** dropdown, selecting **Create New...**, and entering a name of your choice. -4\. After this, select the CIs you want to be selectable from the “General settings” tab (in most cases you want to leave the default settings). +4. Select the CIs you want to be selectable from the **General Settings** tab (in most cases, leave the default settings). -5\. The CI tabs at the top allow you to select and configure the CI filtering you need: +5. The CI tabs at the top allow you to select and configure the CI filtering you need: -![](/assets/images/Confluence-7-menu-bar.gif) + ![](/assets/images/Confluence-7-menu-bar.gif) -6\. Here we will configure the “Parts” CI to show only the “fan” type items: +6. Configure the **Parts** CI to show only **fan** type items: -![](/assets/images/Confluence-8.gif) + ![](/assets/images/Confluence-8.gif) -7\. The search is case insensitive and of contains type, meaning any values specified here will be checked against all database entries matching the CI’s type and containing these values. +7. The search is case-insensitive and uses a "contains" match — any values specified will be checked against all database entries matching the CI's type and containing those values. -8\. Don’t forget to click “Save” at the bottom, if the button is grayed out after you have entered a value, make sure you click out of the text box and then click the “Save” button. +8. Click **Save** at the bottom. If the button is grayed out after entering a value, click outside the text box first, then click **Save**. -9\. You can also “Reset” the custom filter you’ve created by clicking the “Reset” button. _Note: This will also delete your custom filter entry. This doesn’t apply to the “default” filter._ +9. You can also click **Reset** to reset the custom filter you have created. Note that this will delete your custom filter entry and does not apply to the default filter. -10\. Once this is done, these filter templates will be available in the Space Device42 filter settings drop down: +10. Once saved, the filter templates will be available in the Space Device42 filter settings dropdown: -![](/assets/images/Confluence-9.gif) + ![](/assets/images/Confluence-9.gif) -By loading the template filter, you pass in the values saved in the filter template into your specific space instance filter which can then be further modified. +Loading a template filter passes the saved values into your specific space instance filter, which can then be further modified. * * * ## Configure Space Restrictions -The Device42 Confluence Connector allows you to specify which spaces the Device42 macros can be used with. +The Device42 Confluence Connector lets you specify which spaces the Device42 macros can be used in. -### Configure Space Restrictions +1. Log in as a user with **Confluence Administrators** global permission. +2. From the Confluence administration console, select **DEVICE42 CONNECTOR > Device42 Restrict**. +3. Turn space restrictions on. +4. In the **Allowed Spaces** field, select all spaces where you want to allow Device42 macros. -- Log in as a user with **Confluence Administrators** global permission. - -- From the Confluence administration console, select **DEVICE42 CONNECTOR > Device42 Restrict.** - -- Turn space restrictions on. - -- In the **Allowed spaces** field, select all spaces where you want to allow the Device42 macros to be used. - + ![](/assets/images/WEB-646_Confluence-Spaces-1.png) -![](/assets/images/WEB-646_Confluence-Spaces-1.png) +5. Click **Save**. -- Click **Save**. - -- Now if you go to a space where Device42 macros are not allowed based on the space restrictions, you will get an access denied message if you try to use one of the Device42 macros. - +If you go to a space where Device42 macros are not allowed, you will see an access denied message if you try to use a Device42 macro. ![](/assets/images/WEB-646_Confluence-Spaces-2.png) -- In addition, if Device42 macros were allowed for the space and had been used on the page, and then the space did not allow Device42 macros, then the data that those macros returned would not be displayed on the page. +If Device42 macros were previously allowed and used on a page, and the space is later restricted, the data returned by those macros will no longer be displayed. * * * ## Use Device42 Macros -You can add information about Device42 Configuration Items inside your Confluence pages using Macros. Device42 Confluence connector provides 3 different Macros to achieve that goal: Details Macro, Link macro and Table macro. You can apply space filter for the list of the possible Configuration Items you want to see inside the specific space. Also you can apply the filter to the each of the Configuration Items category (see Space Filters Configuration for details). +You can add information about Device42 CIs inside your Confluence pages using macros. The Device42 Confluence connector provides three macros: Details Macro, Link Macro, and Table Macro. You can apply a space filter to the list of CIs visible in a specific space, and also filter by CI category (see [Configure Confluence Space Filters](#configure-confluence-space-filters) for details). + +### Object Macros + +The Details Macro and the Link Macro both let you add information about one or more specific CIs to a page. They share a similar configuration but differ in presentation: the Details Macro shows a table of CI parameters, while the Link Macro shows a link that displays additional information on hover. + +To add an object macro to a page: + +1. To add a macro to a page, select **Insert Other Macros** from the top menu. + + ![confluence-connector-23.png](/assets/images/confluence-connector-23.png) + +2. Open **External Content** to find the three Device42 macros. Use the search field to search for **device42** if needed. + + ![confluence-connector-24.png](/assets/images/confluence-connector-24.png) -### Objects macros +3. Select the **Link** or **Details** macro. Select the CI category and one or more CIs. Use the **Preview** button to preview the macro. -You can add information about one or set of the specific Configuration Items into your page using Device42 Details macro and Details42 Link macro. They have the similar configuration but different view functionality: for Device42 Details macro you can see the table of the CI parameters, the view macro contains the link only, but shows the additional information when you hover over that link. + ![confluence-connector-25.png](/assets/images/confluence-connector-25.png) -#### Edit Device42 Object Macros +4. Click **Insert** to add the macro to the page. In edit mode the macro is not rendered, but you will see the macro name, a one-letter category code, and the CI IDs. -1. To add the macro on the page select insert other macros from the top menu![confluence-connector-23.png](/assets/images/confluence-connector-23.png) -2. Open External Content, you can find 3 Device42 macros. If you have too many macros - you can search for device42 using search field.![confluence-connector-24.png](/assets/images/confluence-connector-24.png) -3. Select Link or Details macro. Select the needed CI category, select one or more CIs. You can preview macro using preview button.![confluence-connector-25.png](/assets/images/confluence-connector-25.png) -4. Press the insert button to add the macro on page. Please note, that in edit mode the macro is not rendered, but you will be able to see the name of the macro, one letter for category and set of numbers for CI ids.![confluence-connector-26.png](/assets/images/confluence-connector-26.png) + ![confluence-connector-26.png](/assets/images/confluence-connector-26.png) -#### View Device42 Details Macro +### View Device42 Details Macro -The details macro shows the information regarding the CIs in the table. For the set of CIs you will see additional table for each of CIs. You can follow the link to access the CI inside the Device42 application +The Details Macro shows CI information in a table. For multiple CIs, a separate table is shown for each CI. Follow the link to access the CI in Device42. ![confluence-connector-27.png](/assets/images/confluence-connector-27.png) -#### View Device42 Link Macro +### View Device42 Link Macro -The link macro shows the short link to the Device42 application for the selected CI. For the set of CIs you will see set of links one for each row. You can follow the link to access the CI inside the Device42 application. If you hover over the link - you will see the detailed information about the linked CI inside the Confluence page. +The Link Macro shows a short link to the Device42 application for the selected CI. For multiple CIs, a separate link is shown for each. Hovering over a link shows detailed information about the linked CI inline in the Confluence page. ![confluence-connector-28.png](/assets/images/confluence-connector-28.png) ### Search Macro -Unlike the objects macro that links to the specific CIs inside the Device42 application the search macro shows the items according to search criteria. +Unlike the object macros, which link to specific CIs, the Search Macro shows items matching search criteria. -#### Table Macro +### Table Macro -The table macro allows you to see the table of the CIs of the selected type with the application of space filter and in-macro search criterias. +The Table Macro displays a table of CIs of the selected type, with the space filter and in-macro search criteria applied. -> In the current version in-macro search works for Devices only. For the other CI Types the Space Filter parameters would be applied. +> In the current version, in-macro search works for Devices only. For other CI types, the space filter parameters are applied. -When you select Table Macro in the edit mode you can select the needed CI type as the macro parameter. Optionally you can select name of the search criteria and value. There are 2 sets of fields that allow to have the "and-search" for the specific items. The following parameters are supported: +When you select the Table Macro in edit mode, select the CI type as the macro parameter. Optionally, select a search criteria name and value. Two sets of fields are available for "and" searches. The following parameters are supported: -- type -- service\_level -- in\_service -- rack -- room -- building +- `type` +- `service_level` +- `in_service` +- `rack` +- `room` +- `building` -You should type the exact naming for the parameter inside Filter parameters. Inside the value parameters you should type the prefered value of the specified parameter. If there are no CIs that apply your criteria (with the addition of the space filter) you will see no results for the table. +Enter the exact parameter name in the filter parameters field and the preferred value in the value field. If no CIs match the criteria (including the space filter), the table will show no results. ![confluence-connector-29.png](/assets/images/confluence-connector-29.png) -If you add wrong parameter you will see the error message instead of rendering of the table. +If you enter an incorrect parameter, an error message is displayed instead of the table. ![confluence-connector-30.png](/assets/images/confluence-connector-30.png) -In the edit mode the macro is not rendered, but you can see the selected CI type info and specified filter parameters. +In edit mode, the macro is not rendered, but you can see the selected CI type and specified filter parameters. ![confluence-connector-31.png](/assets/images/confluence-connector-31.png) -In the view mode you will be able to see the table with the filtered CIs +In view mode, the table displays the filtered CIs. ![confluence-connector-32.png](/assets/images/confluence-connector-32.png) From e9948cc382f4c5d7b2295910c7f853f3d5e180b4 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Fri, 10 Apr 2026 14:49:15 +0200 Subject: [PATCH 15/41] 1252: language-improvements; cyberark-integration --- .../cyberark-integration.mdx | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/docs/integration/external-integrations/cyberark-integration.mdx b/docs/integration/external-integrations/cyberark-integration.mdx index d8cc3bb1c..7bc44cdd3 100644 --- a/docs/integration/external-integrations/cyberark-integration.mdx +++ b/docs/integration/external-integrations/cyberark-integration.mdx @@ -7,7 +7,7 @@ import ThemedImage from '@theme/ThemedImage' import useBaseUrl from '@docusaurus/useBaseUrl' import account from '/assets/images/cyberark-integration/create_account_for_d42_cyberark.png' -Each Device42 autodiscovery job is configured to use one or more sets of system credentials. If you already use CyberArk to manage passwords and other secrets, or simply don't want to use Device42 for this purpose, the Device42 CyberArk integration allows Device42 to securely store and retrieve these credentials externally as your primary secret management solution. +Each Device42 discovery job is configured to use one or more sets of system credentials. If you already use CyberArk to manage passwords and other secrets, the Device42 CyberArk integration allows Device42 to securely retrieve these credentials from CyberArk as your primary secret management solution. CyberArk offers useful features such as automatic password rotation, which can be configured to rotate secrets per your specific corporate policies and industry guidelines. @@ -19,13 +19,10 @@ Passwords retrieved from CyberArk are not viewable in Device42. The CyberArk AIMWebService API is needed for the integration. To use the API, purchase and install the [Central Credential Provider (CCP) plugin](https://docs.cyberark.com/credential-providers/latest/en/content/ccp/installation.htm) on CyberArk. -**Configuring CyberArk:** - -- Log in to CyberArk as an administrator. -- Select the **Applications** tab, then click **Add Application**. -- Create an account for Device42. -- Click **Add**. -- Check the box to **Allow extended authentication restrictions**. +1. Log in to CyberArk as an administrator. +2. Select the **Applications** tab, then click **Add Application**. +3. Create an account for Device42 and click **Add**. +4. Check the box to **Allow Extended Authentication Restrictions**. Create an account for Device42 CyberArk @@ -81,15 +78,14 @@ sources={{ style={{ width: '70%' }} /> -## Note on Password Matching +## Password Matching -The following note in the UI describes how passwords are retrieved and matched between CyberArk and Device42 systems: +By default, passwords are looked up by name in CyberArk by matching the Password label in Device42. If no label is provided, the username is matched directly. -> By default, passwords are looked up by name in CyberArk by matching the Password label in Device42. If no label is provided then the username will be matched directly. -You may also customize the Folder or Safe from which the password is retrieved by utilizing the Password Custom fields named Folder and Safe. +You can also customize the Folder or Safe from which the password is retrieved using the Password Custom fields named `Folder` and `Safe`. ### Long and Short Account Names -If your CyberArk account uses a long account name, enter it in the Secret label field for matching purposes. +If your CyberArk account uses a long account name, enter it in the **Secret Label** field for matching purposes. -If your CyberArk account uses a short username, enter it in the Secret username field for the discovery job. \ No newline at end of file +If your CyberArk account uses a short username, enter it in the **Secret Username** field for the discovery job. \ No newline at end of file From 71e76e6abde2e15a4e0b269e2f0ec73c172b5d7d Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Fri, 10 Apr 2026 15:21:48 +0200 Subject: [PATCH 16/41] 1252: language-improvements; delinea-secret-server-integration --- .../delinea-secret-server-integration.mdx | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/docs/integration/external-integrations/delinea-secret-server-integration.mdx b/docs/integration/external-integrations/delinea-secret-server-integration.mdx index ac63e8cc8..94458ac3b 100644 --- a/docs/integration/external-integrations/delinea-secret-server-integration.mdx +++ b/docs/integration/external-integrations/delinea-secret-server-integration.mdx @@ -3,52 +3,54 @@ title: "Delinea Secret Server Integration" sidebar_position: 8.5 --- -Each Device42 Autodiscovery job is configured to use one (or more) sets of system credentials. If you already use Delinea Secret Server to manage passwords and other secrets or simply don't want to use Device42 for this purpose, the Device42 Delinea Secret Server integration allows Device42 to securely store and retrieve these credentials externally as your primary secret management solution. +Each Device42 discovery job is configured to use one or more sets of system credentials. If you already use Delinea Secret Server to manage passwords and other secrets, the Device42 Delinea Secret Server integration allows Device42 to securely retrieve these credentials from Delinea Secret Server as your primary secret management solution. -Delinea Secret Server offers useful features such as automatic password rotation, which can be configured to rotate secrets per your specific corporate policies and industry guidelines. +Delinea Secret Server offers useful features such as automatic password rotation, which can be configured to rotate secrets per your specific corporate policies and industry guidelines. + +This page covers how to configure Delinea Secret Server, connect it to Device42, and use it as the credential source for discovery jobs. :::info -Please note that passwords retrieved from Delinea Secret Server are not viewable in Device42. +Passwords retrieved from Delinea Secret Server are not viewable in Device42. ::: ## Configure Delinea Secret Server Set up a user account and folder permissions in Delinea Secret Server before connecting to Device42. -### Pre-requisites - -For the Delinea Secret Server integration to work, you will need to create a user account in Delinea Secret Server with the **View Secret** permission. +### Prerequisites -This user should also have view access to the desired folder(s) you would like Secrets retrieved from. +For the integration to work, create a user account in Delinea Secret Server with the **View Secret** permission. This user should also have view access to the folders you want secrets retrieved from. -While you can use any user account, it is _strongly recommended_ that you use a dedicated application account for Device42. Application accounts are restricted from logging into the UI and can only be used via the API. +While you can use any user account, it is **strongly recommended** that you use a dedicated application account for Device42. Application accounts are restricted from logging into the UI and can only be used via the API. ## Configure Device42 -- Select **Tools > Integrations > Delinea Secret Server** from the Device42 menu. +1. Select **Tools > Integrations > Delinea Secret Server** from the Device42 menu. -![](/assets/images/delinea-secret-service-integration/Delinea_2.png) + ![](/assets/images/delinea-secret-service-integration/Delinea_2.png) -- Click on the **Edit** button in the bottom right corner and enter your Delinea Secret Server RESTful API information. (Example below) +2. Click the **Edit** button in the bottom right corner and enter your Delinea Secret Server RESTful API information. -![](/assets/images/delinea-secret-service-integration/Delinea_3.png) + ![](/assets/images/delinea-secret-service-integration/Delinea_3.png) -- Verify connectivity by clicking the **Test Settings** button in the top right corner. +3. Verify connectivity by clicking the **Test Settings** button in the top right corner. -![](/assets/images/delinea-secret-service-integration/Delinea_4.png) + ![](/assets/images/delinea-secret-service-integration/Delinea_4.png) -- The **Test Settings** button attempts to validate the supplied configuration settings by retrieving a token from Delinea Secret server. If a token is successfully retrieved, a message stating "Delinea Secret Server Settings Valid" should appear in the top right corner. (Example Success Response Below) + The **Test Settings** button validates the supplied configuration settings by retrieving a token from Delinea Secret Server. If successful, a "Delinea Secret Server Settings Valid" message appears in the top right corner. -![](/assets/images/delinea-secret-service-integration/Delinea_5.png) + ![](/assets/images/delinea-secret-service-integration/Delinea_5.png) -- If you run into configuration errors related to SSL errors, you may need to disable SSL Verification within the Delinea Secret Server configuration page before trying again. +4. If you encounter SSL errors, disable SSL Verification on the Delinea Secret Server configuration page before trying again. -![](/assets/images/delinea-secret-service-integration/Delinea_6.png) + ![](/assets/images/delinea-secret-service-integration/Delinea_6.png) -## Use the Device42 Delinea Secret Server Integration for Discovery +## Use the Integration for Discovery -To create a new password object using Delinea Secret Server, simply select Delinea Secret Server from the Password Storage drop-down menu: +To create a new password object using Delinea Secret Server, select **Delinea Secret Server** from the **Password Storage** dropdown menu. ![](/assets/images/delinea-secret-service-integration/Delinea_1.png) -**Note:** By default, both usernames and passwords are retrieved from Delinea Secret Server by looking up the secret using either **Secret Name** or **Secret ID**, depending on which was selected in the configuration. Regardless of which option is selected, the value used to do the lookup is assumed to be stored in the **Label** field of the related Secret in Device42. If there is no value for **Label** then the value is taken from the **Username** field instead. Usernames and passwords are parsed from the Secret returned by Delinea Secret Server using the slugs "username" and "password" respectively. You may also override the default slugs used by utilizing **Password Custom fields** named **username_slug** and **password_slug**. +**Note:** By default, both usernames and passwords are retrieved from Delinea Secret Server by looking up the secret using either **Secret Name** or **Secret ID**, depending on which was selected in the configuration. The value used for the lookup is assumed to be stored in the **Label** field of the related secret in Device42. If there is no value for **Label**, the value is taken from the **Username** field instead. + +Usernames and passwords are parsed from the secret returned by Delinea Secret Server using the slugs `username` and `password` respectively. You can override the default slugs using **Password Custom Fields** named `username_slug` and `password_slug`. From 8d60a91d383faac9fbd100baa1bf21718feba0b3 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Fri, 10 Apr 2026 15:30:29 +0200 Subject: [PATCH 17/41] 1252: language-improvements; external-logging-config --- .../external-logging-config.mdx | 76 ++++++++++-------- .../webhook-endpoint-splunk-logging.png | Bin 0 -> 29563 bytes 2 files changed, 42 insertions(+), 34 deletions(-) create mode 100644 static/assets/images/external-logging-config/webhook-endpoint-splunk-logging.png diff --git a/docs/integration/external-integrations/external-logging-config.mdx b/docs/integration/external-integrations/external-logging-config.mdx index ba8989293..24dd0c17e 100644 --- a/docs/integration/external-integrations/external-logging-config.mdx +++ b/docs/integration/external-integrations/external-logging-config.mdx @@ -7,67 +7,75 @@ This page explains how to configure Device42 to send audit log events to externa ## Install an HTTP Plugin -You will need an http plugin for Logstash or Splunk to send the data to the SIEM / logging platform of your choice. You can get more information and find the downloads at the following links: +You will need an HTTP plugin for Logstash or Splunk to send data to the SIEM or logging platform of your choice. Find the downloads at the following links: -**Splunk:** [https://dev.splunk.com/view/event-collector/SP-CAAAE6M](https://dev.splunk.com/view/event-collector/SP-CAAAE6M) +**Splunk:** [https://dev.splunk.com/view/event-collector/SP-CAAAE6M](https://dev.splunk.com/view/event-collector/SP-CAAAE6M) -**Logstash:**[https://www.elastic.co/guide/en/logstash/current/plugins-inputs-http.html](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-http.html) +**Logstash:** [https://www.elastic.co/guide/en/logstash/current/plugins-inputs-http.html](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-http.html) -## Configure External Logging +## Integration with External Logging Systems -Webhooks are the best way to get your logs from Device42 to your external logging platform. Begin by setting up a webhook endpoint: +Device42 can be integrated with external logging or SIEM systems, such as Splunk or Logstash, using [webhooks](https://codeburst.io/what-are-webhooks-b04ec2bf9ca2). Webhooks send server-side events to a receiving client-side application (also known as "Reverse APIs"). Device42 sends audit log events as webhooks to these platforms for external analysis. -- Begin by navigating to **“Tools -> Webhooks -> Endpoints** — \[Your Splunk / Logstash instance is your endpoint\]. From this page, click the “Add Webhook Action” button in the upper right \[highlighted\]: +The following sections walk through setting up this integration using Splunk Enterprise as an example. To get started, navigate to **Tools > Webhooks > Endpoints** (your Splunk or Logstash instance is the endpoint) and click **Add Webhook Endpoint**. ![Add webhook endpoint for logging](/assets/images/add_webhook_endpoint-splunklogstash.png) -## Integration with External Logging Systems +## Configure an HTTP Event Collector (HEC) in Splunk -Device42 can be integrated with external logging or SIEM systems, such as Splunk or Logstash, with the use of webhooks. [Webhooks](https://codeburst.io/what-are-webhooks-b04ec2bf9ca2) are a methodology of sending server-side details or events to a receiving client-side application, and are also known as “Reverse APIs”. Device42 can send audit log events in the form of webhooks to these other platforms for external analysis. +To catch the webhooks Device42 produces, configure an [HTTP Event Collector (HEC)](https://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTPEventCollector) in Splunk: -This article will walk through setting up this integration using a lab instance of Splunk Enterprise (v6.6.3)at `http://10.42.2.239:8000`, which does not require any login credentials. Previous documentation on this topic is available here, [External Logging Config – Device42 Documentation | Device42 Documentation](integration/external-integrations/external-logging-config.mdx). +1. Navigate to **Settings > Data > Data Inputs > HTTP Event Collector**. +2. Click **Global Settings** in the upper-right corner, select **Enabled** for All Tokens, determine if SSL needs to be enabled, and define the HEC’s listening port number (`8088` is used in this example). Click **Save**. -## Configure an HTTP Event Collector (HEC) in Splunk + ![](/assets/images/GlobalSettings.png) -In order to catch the webhooks Device42 produces, an [HTTP Event Collector](https://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTPEventCollector) needs to be configured within Splunk, the below steps will walk through this process: +3. Create a new HEC token by clicking **New Token** in the upper-right corner. Give it a name and optional description or Source Name Override (`D42_Webhooks` is used in this example). Click **Next** to display the Input Settings. Change **Source Type** to the **Select** option, enter `json` in the filter, and select `_json`. +4. Click **Review** and **Submit** to create the HEC. Note the token value — you will need it later. -1. Navigate to Settings > Data > Data Inputs > HTTP Event Collector. -2. Click Global Settings in the upper-right corner and select “Enabled” for All Tokens, determine if SSL needs to be enabled, and define the HEC’s listening port number (8088 is used in this demonstration), then Save. ![](/assets/images/GlobalSettings.png) -3. Create a new HEC token by clicking New Token in the upper-right corner. Give it a Name and optional Description or Source Name Override (D42\_Webhooks is the example created here). Clicking Next displays the Input Settings to define optional input parameters for source type and index; change Source type to the “Select” option, enter “json” in the filter, and select “\_json”. -4. Review and Submit to create the HEC. This will provide a token value, take note of this but it will be available later if needed.![](/assets/images/HEC_Token.png) + ![](/assets/images/HEC_Token.png) ## Configure a Webhook Endpoint in Device42 -In Device42, a webhook endpoint needs to be defined that can catch the audit log events Device42 delivers- the newly-configured HEC in Splunk will do this. This section will detail the endpoint creation process, and a screenshot of successful settings will be included at the bottom. - -1. Navigate to Tools > Webhooks > Endpoints > Add Webhook Endpoint. -2. Name the endpoint and define the endpoint URL like `https://ENDPOINT-URL:HEC-PORT/services/collector/raw`. The endpoint used in this example is `https://10.42.2.239:8088/services/collector/raw`. Depending on the HEC settings, http or https may need to be defined. The services/collector/raw REST API endpoint is where Device42 is sending the raw json data to the HEC. -3. Leave the Endpoint value as the default “Custom”, define credentials if required (not used in this demonstration), set a Retry interval, and Ignore SSL Certificate Errors if necessary. -4. Two Webhook Headers also need to be defined, the first has a Header Name of “Authorization”, with a Header Token of `Splunk `, where `` is replaced by the HEC token value created earlier in Splunk. -5. The second has a Header Name of “X-Splunk-Request-Channel” with a Header Token of a randomly generated UUID. This can be created with a Linux utility such as _uuidgen._ The X-Splunk-Request-Channel header field is required because the request sent to the HEC includes raw data.![](/assets/images/uuidgen.png) +Define a webhook endpoint in Device42 to receive the audit log events and forward them to the HEC configured in Splunk. -![](data:image/png;base64,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) +1. Navigate to **Tools > Webhooks > Endpoints > Add Webhook Endpoint**. +2. Name the endpoint and define the endpoint URL like `https://ENDPOINT-URL:HEC-PORT/services/collector/raw`. The endpoint used in this example is `https://10.42.2.239:8088/services/collector/raw`. Depending on the HEC settings, HTTP or HTTPS may need to be defined. The `services/collector/raw` REST API endpoint receives raw JSON data from Device42. +3. Leave the Endpoint value as the default **Custom**, define credentials if required (not used in this example), set a **Retry** interval, and check **Ignore SSL Certificate Errors** if necessary. +4. Define two Webhook Headers. The first has a **Header Name** of `Authorization` and a **Header Token** of `Splunk `, where `` is the token value created earlier in Splunk. +5. The second has a **Header Name** of `X-Splunk-Request-Channel` and a **Header Token** set to a randomly generated UUID. You can generate one with a Linux utility such as `uuidgen`. This header is required because the request sent to the HEC includes raw data. -  + ![](/assets/images/uuidgen.png) -## Validate Splunk is collecting Device42 Webhooks +The following screenshot shows a completed webhook endpoint configuration: -This section will describe creating a Webhook Action in Device42, in order to define the data sent to Splunk. This will then be validated in Splunk to verify that it is collecting the raw json webhoook data by utilizing Splunk’s search functionality. +![Webhook endpoint Splunk logging configuration](/assets/images/external-logging-config/webhook-endpoint-splunk-logging.png) ## Create a Webhook Action in Device42 -1. Navigate to Tools > Webhooks > Actions > Add Webhook Action. -2. Give the Webhook Action a Name, select the categories to create Webhooks for, then define whether add/delete/change/view/login events are delivered. Alternatively, “Process All Categories” can be selected to deliver all webhook types. -3. Select the Webhook Action Endpoint, which should be the endpoint(s) created in the step above. The example here processes Add, Delete, and Change events for the Device object in Device42. As a test, a “Splunk Logging Device” was created, changed, and deleted.![](/assets/images/WebhookAction.png) +Create a Webhook Action to define which Device42 audit events are sent to Splunk, then verify in Splunk that the data is being received. + +1. Navigate to **Tools > Webhooks > Actions > Add Webhook Action**. +2. Give the Webhook Action a name, select the categories to create webhooks for, then define whether add, delete, change, view, or login events are delivered. Alternatively, select **Process All Categories** to deliver all webhook types. +3. Select the Webhook Action Endpoint created in the previous step. This example processes **Add**, **Delete**, and **Change** events for the Device object in Device42. + + ![](/assets/images/WebhookAction.png) + +## Search for Webhook Events in Splunk + +After webhooks have been processed and sent to Splunk, search for them by creating a report. + +1. Navigate to **Settings > Knowledge > Searches, Reports, and Alerts > New Report**. +2. Title your report, enter search parameters, and configure any optional settings. The example here uses `source="http:d42_webhooks"` as input to look for events caught by the HEC configured earlier. + + ![](/assets/images/Splunk_Search.png) -## Search for Webhook events in Splunk +3. Save the report and click **Run** from the Searches, Reports, and Alerts list view. The three events below show that the "Splunk Logging Device" was inserted (I), updated (U), and deleted (D). -1. After webhooks have been processed and sent to Splunk, they can be searched for through Settings > Knowledge > Searches, Reports, and Alerts > New Report. -2. Title your Report, enter search parameters, and configure any optional settings as needed. The example here uses source=”http:d42\_webhooks” as input and looks only for events caught by the HEC configured earlier.![](/assets/images/Splunk_Search.png) -3. Save the report and then Run from the resulting Searches, Reports, and Alerts list view. The 3 events below indicates that the “Splunk Logging Device” was inserted (created), updated (changed), and deleted via the I, U, and D actions respectively.![](/assets/images/Report_Details.png) + ![](/assets/images/Report_Details.png) ## Configure Log Storage Duration -You can also navigate to “Tools -> Settings -> Log Integration to choose how long you want to keep logs in your log solution to save space. +Navigate to **Tools > Settings > Log Integration** to configure how long to retain logs. ![Change Log Integration Settings](/assets/images/configure_log_integration.png) diff --git a/static/assets/images/external-logging-config/webhook-endpoint-splunk-logging.png b/static/assets/images/external-logging-config/webhook-endpoint-splunk-logging.png new file mode 100644 index 0000000000000000000000000000000000000000..93e9db81d1e776548f9db5e7038f75f44be6704c GIT binary patch literal 29563 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 Date: Fri, 10 Apr 2026 15:58:33 +0200 Subject: [PATCH 18/41] 1252: language-improvements; foreman-smart-proxy-plugin --- .../foreman-smart-proxy-plugin.mdx | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/integration/external-integrations/foreman-smart-proxy-plugin.mdx b/docs/integration/external-integrations/foreman-smart-proxy-plugin.mdx index 783cdffdc..07877aa1e 100644 --- a/docs/integration/external-integrations/foreman-smart-proxy-plugin.mdx +++ b/docs/integration/external-integrations/foreman-smart-proxy-plugin.mdx @@ -3,13 +3,15 @@ title: "Foreman Smart Proxy Integration" sidebar_position: 11 --- -Get even more from Device42 by integrating Device42's IP Address Management (IPAM) features with the Foreman. Device42 already knows all about your subnets as well as the used and free IP addresses on each – so let it provide the next free IP address automatically! Foreman's Smart proxies allow your Puppet & Foreman-based configuration scripts & other automation to request the next available IP on your network directly from Device42, transparently, via a standard DHCP request! The Device42-Foreman Smart-proxy plugin handles the transparent passing of DHCP requests to the D42 API! +The Device42-Foreman Smart Proxy plugin integrates Device42's IP Address Management (IPAM) features with Foreman. Device42 tracks your subnets and the used and free IP addresses on each, so it can provide the next free IP address automatically. Foreman's Smart Proxies allow your Puppet and Foreman-based configuration scripts and other automation to request the next available IP on your network directly from Device42, transparently, via a standard DHCP request. -From the point of view of the server making the DHCP request, the smart proxy is transparent. It has no idea \[nor any need to know\] that it is actually getting an IP address from Device42. As far as Device42 can tell, it just received a normal API request for the next available IP. The new CI recording (including _name, IP, and MAC address_) is also recorded in Device42 automatically. Visit the [Device42-Foreman Smart Proxy Integration page to download](https://www.device42.com/integrations/foreman-smart-proxy/). +From the point of view of the server making the DHCP request, the smart proxy is transparent — it has no idea that it is actually getting an IP address from Device42. As far as Device42 can tell, it received a normal API request for the next available IP. The new CI record (including name, IP, and MAC address) is also created in Device42 automatically. -## Set Up the Foreman Smart Proxy Plugin by Device42 +Visit the [Device42-Foreman Smart Proxy Integration page](https://www.device42.com/integrations/foreman-smart-proxy/) to download the plugin. -Installing the smart proxy plugin by Device42 is the same as the installation of any smart proxy plugin into the Foreman (there are many). The below instructions were copied from [these instructions in the Foreman user manual](https://theforeman.org/manuals/1.1/index.html#4.3SmartProxies). Please consult the Foreman Manual directly for more details, but installation should be as simple as: +## Set Up the Foreman Smart Proxy Plugin + +Installing the smart proxy plugin is the same as installing any smart proxy plugin in Foreman. The instructions below were adapted from [the Foreman user manual](https://theforeman.org/manuals/1.1/index.html#4.3SmartProxies). Consult the Foreman manual directly for more details.
Click to expand the code block @@ -24,12 +26,12 @@ Installing the smart proxy plugin by Device42 is the same as the installation of ```
-Once you've installed the Foreman Smart Proxy package as per Foreman, add the following Device42 specific configuration: +Once you have installed the Foreman Smart Proxy package, add the following Device42-specific configuration: -- To enable this DHCP provider, edit `/etc/foreman-proxy/settings.d/dhcp.yml` and set: +- To enable this DHCP provider, edit `/etc/foreman-proxy/settings.d/dhcp.yml` and set: ``` - :use\_provider: dhcp\_device42 + :use_provider: dhcp_device42 :subnets: subnets you want to use (optional unless you set device42_subnets to false) ``` @@ -46,6 +48,6 @@ Once you've installed the Foreman Smart Proxy package as per Foreman, add the fo ``` -Note that you can find the above configuration details in the README.MD file included with the [Device42-Foreman Smart Proxy plugin download](https://codeload.github.com/theforeman/smart_proxy_dhcp_device42/zip/refs/heads/master) on the [Device42 Github](https://github.com/theforeman/smart_proxy_dhcp_device42) page. +You can find the above configuration details in the `README.MD` file included with the [Device42-Foreman Smart Proxy plugin download](https://codeload.github.com/theforeman/smart_proxy_dhcp_device42/zip/refs/heads/master) on the [Device42 GitHub](https://github.com/theforeman/smart_proxy_dhcp_device42) page. -Should you have issues, please check to see installation instructions haven't changed per the Foreman manual (linked above). If they have changed, or have not changed and your are still experiencing trouble, please do let us know – simply email support@device42.com. Thanks! +If you encounter issues, check whether installation instructions have changed in the Foreman manual linked above. Contact [support@device42.com](mailto:support@device42.com) for further assistance. From d37007672b948b52a1d3be336c5bca832e9bb171 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:08:44 +0200 Subject: [PATCH 19/41] 1252: language-improvements; freshservice-integration/index --- .../freshservice-integration/index.mdx | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/integration/external-integrations/freshservice-integration/index.mdx b/docs/integration/external-integrations/freshservice-integration/index.mdx index ae5dc97bb..8513ed0e9 100644 --- a/docs/integration/external-integrations/freshservice-integration/index.mdx +++ b/docs/integration/external-integrations/freshservice-integration/index.mdx @@ -1,5 +1,5 @@ --- -title: "Setting Up the Freshservice Integration" +title: "Set Up the Freshservice Integration" sidebar_position: 1 --- @@ -8,8 +8,8 @@ import useBaseUrl from '@docusaurus/useBaseUrl' :::tip This page covers the initial setup and installation of the Freshservice integration. -- For daily usage and operations, see [Using the Freshservice Integration](use-freshservice-integration.mdx). -- For advanced data mapping customization, see [Advanced Freshservice Mapping and Customization](customize-freshservice.mdx). +- For daily usage and operations, see [Using the Freshservice Integration](/integration/external-integrations/freshservice-integration/use-freshservice-integration). +- For advanced data mapping customization, see [Advanced Freshservice Mapping and Customization](/integration/external-integrations/freshservice-integration/customize-freshservice). ::: ## About the Device42 Freshservice Integration @@ -41,7 +41,7 @@ Ensure that cloud services are enabled and configured: 1. Navigate to **Tools > Integrations > Cloud Services**. 2. Enter your Device42 IP address or FQDN in the **D42 URL for SaaS apps** field. -3. Select your **Cloud Connector** location or environment. It's set to **USA** by default. +3. Select your **Cloud Connector** location or environment. The default is **USA**. Integrations > External Integrations** and click **+ Add External Integration**. :::caution - Please **do not** use the **Verification Token** generated when configuring the external integration, as this value will change when you save. Copy the token from the list page view after saving. + Do **not** use the **Verification Token** generated when configuring the external integration, as this value will change when you save. Copy the token from the list page view after saving. ::: 2. Enter the **URL** of your Freshservice instance. 3. Under **Type**, choose **Freshservice**. -4. You can optionally select **Enable Freshworks SSO** to activate single sign-on (SSO). We recommend using this feature for a seamless login experience when working with the integration. +4. You can optionally select **Enable Freshworks SSO** to activate single sign-on (SSO). This feature is recommended for a seamless login experience when working with the integration. Integrations > Cloud Services**. 2. Check the GUID of your other Device42 instances (hot standby, development, and so on). @@ -183,5 +183,5 @@ To action this: Once you have completed the setup, you can: -- [Use the Freshservice Integration](use-freshservice-integration.mdx) for data synchronization, and understanding data flows. -- [Customize the Freshservice Integration](customize-freshservice.mdx) for advanced data mapping and XML configuration. +- [Use the Freshservice Integration](/integration/external-integrations/freshservice-integration/use-freshservice-integration) for data synchronization and understanding data flows. +- [Customize the Freshservice Integration](/integration/external-integrations/freshservice-integration/customize-freshservice) for advanced data mapping and XML configuration. From e2fdbc84795aabd7d5781b593fdee67748b2f17d Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:08:48 +0200 Subject: [PATCH 20/41] 1252: language-improvements; freshservice-integration/use-freshservice-integration --- .../use-freshservice-integration.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/integration/external-integrations/freshservice-integration/use-freshservice-integration.mdx b/docs/integration/external-integrations/freshservice-integration/use-freshservice-integration.mdx index 7d1ed5a57..2c44af686 100644 --- a/docs/integration/external-integrations/freshservice-integration/use-freshservice-integration.mdx +++ b/docs/integration/external-integrations/freshservice-integration/use-freshservice-integration.mdx @@ -1,5 +1,5 @@ --- -title: "Using the Freshservice Integration" +title: "Use the Freshservice Integration" sidebar_position: 2 --- @@ -8,11 +8,11 @@ import useBaseUrl from '@docusaurus/useBaseUrl' :::tip This page covers the usage and operations of the Freshservice integration. -- For initial setup and installation instructions, see [Setting Up the Device42 Freshservice Integration](index.mdx). -- See [Advanced Freshservice Mapping and Customization](customize-freshservice.mdx) for instructions and examples on modifying the default sync. +- For initial setup and installation instructions, see [Set Up the Freshservice Integration](/integration/external-integrations/freshservice-integration). +- See [Advanced Freshservice Mapping and Customization](/integration/external-integrations/freshservice-integration/customize-freshservice) for instructions and examples on modifying the default sync. ::: -## Using the Integration App +## Use the Integration App Configure the **Device42 for Freshservice** app to sync data from Device42 to Freshservice. @@ -38,7 +38,7 @@ The **Update asset type for existing assets** checkbox controls whether asset ty ### Run the Data Synchronization -The sync imports new CIs and updates the existing ones within Freshservice. We recommend running a full sync after installing the integration app. Configure the following options [from the **Settings** tab](#find-the-settings-tab): +The sync imports new CIs and updates existing ones within Freshservice. Running a full sync after installing the integration app is recommended. Configure the following options [from the **Settings** tab](#find-the-settings-tab): To schedule the sync and automatically fetch data from Device42 daily, check the **Use Schedule** checkbox and enter a **Sync Time (UTC)** at which to perform the sync. @@ -93,7 +93,7 @@ When Device42 deploys a new Cloud Connector server as part of its usual maintena ## View Mapped and Unmapped Data for Specific Assets -We understand that some fields within Device42 may not easily translate to fields within Freshservice. We've added the ability to view these fields from one location, eliminating the need to navigate between applications. To view the mapped and unmapped data for a device within Freshservice, follow the steps below. +Some fields in Device42 may not directly translate to fields in Freshservice. The integration provides the ability to view these fields from one location, eliminating the need to navigate between applications. To view the mapped and unmapped data for a device in Freshservice, follow the steps below. 1. Navigate to **Assets > Inventory** from the Freshservice dashboard. On the Inventory screen, select the asset (imported from Device42) for which you want to view mapped and unmapped data. @@ -337,7 +337,7 @@ The **Contract Type** dropdown in Freshservice displays the available contract t | Maintenance | Purchase Line Item types: Service, In-Service, Subscription, (none) | | Software License | Software Licensing | -### Sync Purchase Line Items Types to Contracts +### Sync Purchase Line Item Types to Contracts In Device42, a **Purchase Line Item** is an individual entry associated with a larger purchase (located under **Infrastructure > Purchases**). Contract purchase line item subtypes include **Lease**, **Warranty**, **Subscription**, **Service**, and **In-Service**. The subtype **(None)** is used for unspecified types: @@ -391,7 +391,7 @@ Warranty information from Device42 is brought into Freshservice, with **Warranty ![Software Licensing in Freshservice](/assets/images/freshservice-integration/fs-software-license.png) -## Syncing Business Services to Freshservice +## Sync Business Services to Freshservice Using the default mapping, **Business Services** in Device42 are synced to Freshservice as the **Business Service** asset type. The business service relationships are also synced. @@ -417,6 +417,6 @@ The example business service in Freshservice above looks like this in Device42: }} /> -## Deleting the Freshservice External Integration +## Delete the Freshservice External Integration Before deleting the Freshservice external integration in Device42 or making changes to your Cloud Services configuration, first uncheck the **Enable Freshworks SSO** option in the Appliance Manager, under **Global Settings > SAML/SSO Settings**. From 743c67ce235d528ca14a88ca0b33763ee8296e1d Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:08:53 +0200 Subject: [PATCH 21/41] 1252: language-improvements; freshservice-integration/customize-freshservice --- .../customize-freshservice.mdx | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/integration/external-integrations/freshservice-integration/customize-freshservice.mdx b/docs/integration/external-integrations/freshservice-integration/customize-freshservice.mdx index 41ff5902d..ad9085bef 100644 --- a/docs/integration/external-integrations/freshservice-integration/customize-freshservice.mdx +++ b/docs/integration/external-integrations/freshservice-integration/customize-freshservice.mdx @@ -8,19 +8,19 @@ import useBaseUrl from '@docusaurus/useBaseUrl' :::tip This page covers advanced data mapping customization and XML file editing. -- For initial setup and installation, see [Setting Up the Device42 Freshservice Integration](index.mdx). -- For usage and operations, see [Using the Freshservice Integration](use-freshservice-integration.mdx). +- For initial setup and installation, see [Set Up the Freshservice Integration](/integration/external-integrations/freshservice-integration). +- For usage and operations, see [Use the Freshservice Integration](/integration/external-integrations/freshservice-integration/use-freshservice-integration). ::: ## Manage Customization with Newer Releases -The Device42-Freshservice integration ships with a default mapping file. Newer versions of the mapping file may include sending additional elements to Freshservice (such as assets, devices, CIs, and metadata). We share these new additions in the [Freshservice mapping release notes](/release-notes/freshservice-mapping/mapping-4.0-changes). +The Device42-Freshservice integration ships with a default mapping file. Newer versions of the mapping file may include sending additional elements to Freshservice (such as assets, devices, CIs, and metadata). These new additions are documented in the [Freshservice mapping release notes](/release-notes/freshservice-mapping/mapping-4.0-changes). If you make an adjustment and use a custom XML file, Device42 will not update the custom XML during updates. If you want to incorporate updates, you need to do so manually: Download the current XML file, compare it to your customized XML file, and add in the new items as needed. -We recommend keeping track of your customizations so they can be added to the latest default mapping file. +Keep track of your customizations so they can be added to the latest default mapping file. ## Get Started with Custom Data Mapping @@ -28,7 +28,7 @@ To get started, download the default mapping XML file and view the current mappi ### Download the `mapping.xml` File -- [From the **Settings** tab of the **Configuration** page](index.mdx#find-the-settings-tab), scroll down to the **Schedule Synchronization** section and click the **Data Mapping** button to reveal the custom mapping buttons. +- [From the **Settings** tab of the **Configuration** page](/integration/external-integrations/freshservice-integration#find-the-settings-tab), scroll down to the **Schedule Synchronization** section and click the **Data Mapping** button to reveal the custom mapping buttons. - Click the **Download Default Mapping** button to download the `mapping.xml` file. Customize the mapping between fields in Device42 and Freshservice by downloading, editing, and [reuploading](#reupload-the-mappingxml-file) the `mapping.xml` file. @@ -71,7 +71,7 @@ For example, the following `` element copies software information from Dev ``` -Let's take a closer look at the attributes and elements of the `` elements so you can understand what to adapt or emulate to suit your particular case. +The following sections describe the attributes and elements of `` elements so you can understand what to adapt or emulate. ### The `` Element Attributes @@ -81,7 +81,7 @@ Let's take a closer look at the attributes and elements of the `` elements ``` - Note that if you turn off a task that has `asset` or `asset_relationship` as its corresponding Freshservice type (for example, devices, business services, and resources in Device42), you'll need to find and remove its corresponding query snippet in the `Delete` cleanup tasks. For an example, see [this answer in the FAQ section](#how-do-i-prevent-a-relationship-between-two-device42-asset-types-from-syncing-to-freshservice). + Note that if you turn off a task that has `asset` or `asset_relationship` as its corresponding Freshservice type (for example, devices, business services, and resources in Device42), you need to find and remove its corresponding query snippet in the `Delete` cleanup tasks. For an example, see [this answer in the FAQ section](#how-do-i-prevent-a-relationship-between-two-device42-asset-types-from-syncing-to-freshservice). - `name`: You can edit the task name. Task names appear in the integration app's **Data Mapping Chart**. - `type`: Holds the [Freshservice classification](https://api.freshservice.com/) of the data. The valid types are: @@ -120,11 +120,11 @@ Typically, the first `` represents the Device42 data returned from the qu - `resource`: The same as the `target` value. - `source-type`: Not functionally critical; this provides the data type displayed on the integration app's **Data Mapping Chart**. -- `target`: The Device42 field to be mapped to Freshservice. The Freshservice convention is to use the display name in snake case, occasionally with the ID of the asset type as a suffix. For example, `memory_max_usage` and `memory_reservation_used`. The sync process determines the ID. Please look up which target field names to use in the [Freshservice API documentation](https://api.freshservice.com/). +- `target`: The Device42 field to be mapped to Freshservice. The Freshservice convention is to use the display name in snake case, occasionally with the ID of the asset type as a suffix. For example, `memory_max_usage` and `memory_reservation_used`. The sync process determines the ID. Look up which target field names to use in the [Freshservice API documentation](https://api.freshservice.com/). - `escape`: This is used on field elements where `target="name"`. Some characters used in Device42 names aren't supported in Freshservice and need to be substituted. When creating a new task, you can set this to `true`, but disable it if mismatching issues occur. :::tip -Use our InsightsAI chat under **Analytics > InsightsAI** to interpret DOQL query snippets quickly in the context of the Device42 data tables. +Use the InsightsAI chat under **Analytics > InsightsAI** to interpret DOQL query snippets quickly in the context of the Device42 data tables. ::: ### Additional Matching Criteria for Updating Existing Items @@ -154,7 +154,7 @@ Some `` elements in `mapping.xml` have a helper `` element for u ### Reupload the `mapping.xml` File -Save the file and reupload it to Freshservice, using the **Upload Custom Mapping** button [in the **Settings** tab of the **Configuration** page](index.mdx#find-the-settings-tab). +Save the file and reupload it to Freshservice, using the **Upload Custom Mapping** button [in the **Settings** tab of the **Configuration** page](/integration/external-integrations/freshservice-integration#find-the-settings-tab). ![Custom mapping options in the Freshservice UI](/assets/images/freshservice-integration/freshservice-custom-mapping.png) @@ -310,7 +310,7 @@ Field names in Freshservice are automatically generated according to the followi - Replacing spaces with underscores - Appending the asset type ID to the end of the field name (this suffix provides a means of verifying the field name, and is visible in the Freshservice interface but not required in the XML file) -For example, the custom field with the `Used By` label in Freshservice is represented internally as `used_by_12345467`, but you'll use `used_by` in the `mapping.xml` file. +For example, the custom field with the `Used By` label in Freshservice is represented internally as `used_by_12345467`, but you would use `used_by` in the `mapping.xml` file. Use the following steps to verify that the field name is correct: @@ -338,7 +338,7 @@ Control whether changes made to Device42 asset types and contracts will update t ### Control Asset Type Updates -When you customize asset type mappings in the `mapping.xml` file, you can control whether your changes update existing assets in Freshservice. See [Asset-Type Update Behavior](use-freshservice-integration.mdx#asset-type-update-behavior) for more details about the **Update asset type for existing assets** setting. +When you customize asset type mappings in the `mapping.xml` file, you can control whether your changes update existing assets in Freshservice. See [Asset-Type Update Behavior](/integration/external-integrations/freshservice-integration/use-freshservice-integration#asset-type-update-behavior) for more details about the **Update asset type for existing assets** setting. ### Control Contract Updates @@ -542,7 +542,7 @@ You can map existing Device42 contract data to custom fields in Freshservice con ![Data Mapping Chart with custom field](/assets/images/freshservice-integration/fs-cancel-policy-mapping.png) -6. Run the [sync](index.mdx#run-the-data-synchronization). +6. Run the [sync](/integration/external-integrations/freshservice-integration#run-the-data-synchronization). ### How Do I Change an Existing Mapping to Pull From a Different Device42 Field? @@ -652,7 +652,7 @@ Set the `enable` attribute to `false` on those `` elements: ![Data Mapping Chart](/assets/images/freshservice-integration/upload-custom-mapping.png) -5. Run a [partial sync](index.mdx#run-the-data-synchronization) to confirm that contract items are no longer being synced, or wait until the scheduled sync runs. +5. Run a [partial sync](/integration/external-integrations/freshservice-integration#run-the-data-synchronization) to confirm that contract items are no longer being synced, or wait until the scheduled sync runs. ### Example 2: How Do I Prevent Software Imports From Syncing to Freshservice? @@ -703,7 +703,7 @@ Set the `enable` attribute to `false` on those `` elements: ``` 4. Save the file and reupload it to Freshservice with the [**Upload Custom Mapping** button](#reupload-the-mappingxml-file). -5. Run a [partial sync](index.mdx#run-the-data-synchronization) to confirm that software items are no longer being synced, or wait until the scheduled sync runs. +5. Run a [partial sync](/integration/external-integrations/freshservice-integration#run-the-data-synchronization) to confirm that software items are no longer being synced, or wait until the scheduled sync runs. - Go to **Assets > Software** in the integration app. The page is populated before you disable software imports: From 8c7c9c13e8310049117072b0f04421e572310a54 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:14:21 +0200 Subject: [PATCH 22/41] 1252: language-improvements; hashicorp-vault-integration --- .../hashicorp-vault-integration.mdx | 105 +++++++++--------- 1 file changed, 54 insertions(+), 51 deletions(-) diff --git a/docs/integration/external-integrations/hashicorp-vault-integration.mdx b/docs/integration/external-integrations/hashicorp-vault-integration.mdx index b91e16534..0368a7992 100644 --- a/docs/integration/external-integrations/hashicorp-vault-integration.mdx +++ b/docs/integration/external-integrations/hashicorp-vault-integration.mdx @@ -1,51 +1,54 @@ ---- -title: "HashiCorp Vault Integration" -sidebar_position: 12.5 ---- - -Each Device42 autodiscovery job is configured to use one (or more) sets of system credentials. If you already use HashiCorp Vault to manage passwords and other secrets, or simply don't want to use Device42 for this purpose, the Device42 HashiCorp Vault integration allows Device42 to securely store and retrieve these credentials externally as your primary secret management solution. - -HashiCorp Vault offers useful features such as automatic password rotation, which can be configured to rotate secrets per your specific corporate policies and industry guidelines. - -:::info -Please note that passwords retrieved from HashiCorp Vault are not viewable in Device42. -::: - -## Configuring HashiCorp Vault - -- **(Required) Role ID / Secret ID:** For the HashiCorp Vault integration to work, you will need to create an AppRole in HashiCorp Vault with a policy that grants "read" to the desired Secret Paths. - - AppRole authentication is done by using both "RoleID" and "SecretID" as credentials. - - Details on how to create an AppRole and retrieve the RoleID and SecretID can be found [here](https://developer.hashicorp.com/vault/docs/auth/approle). -- **(Required) Secret Engine Path:** You will also need to specify the path to a valid K/V Version 1 or Version 2 secret engine to retrieve secrets from. Example: secret, kv, foo, bar, etc. -- **(Optional) Namespace:** If you're leveraging Multi-Tenancy with Namespaces then you will need to include the Namespace as well. Note: This is Limited to Vault Enterprise Standard or HCP Vault Clusters. - - -## Configuring Device42 - -- Select **Tools > Integrations > HashiCorp Vault** from the Device42 menu. - -![](/assets/images/hashicorp-vault-integration/HashiCorp_2.png) - -- Click on the **Edit** button in the bottom right corner and enter your HashiCorp Vault RESTful API information. (Example below) - -![](/assets/images/hashicorp-vault-integration/HashiCorp_3.png) - -- Verify connectivity by clicking the **Test Settings** button in the top right corner. - -![](/assets/images/hashicorp-vault-integration/HashiCorp_4.png) - -- The **Test Settings** button attempts to validate the supplied configuration settings by retrieving a token from HashiCorp Vault. If a token is successfully retrieved, a message stating "HashiCorp Vault Settings Valid" should appear in the top right corner. (Example Success Response Below) - -![](/assets/images/hashicorp-vault-integration/HashiCorp_5.png) - -- If you run into configuration errors related to SSL errors, you may need to disable SSL Verification within the HashiCorp Vault configuration page before trying again. - -![](/assets/images/hashicorp-vault-integration/HashiCorp_6.png) - -## Using the Device42 HashiCorp Vault Integration for Discovery - -To create a new password object using HashiCorp Vault, simply select HashiCorp Vault from the **Password Storage** drop-down menu: - -![](/assets/images/hashicorp-vault-integration/HashiCorp_1.png) - -**Note:** By default, both usernames and passwords are retrieved from HashiCorp Vault by looking up the secret using its path within the vault. The value used to do the lookup is assumed to be stored in the **Label** field of the related Secret in Device42. If there is no value for **Label** then the value is taken from the **Username** field instead. Usernames and passwords are parsed from the Secret returned by HashiCorp Vault using the slugs "username" and "password" respectively. You may also override the default slugs used by utilizing **Password Custom fields** named **username_slug** and **password_slug**. +--- +title: "HashiCorp Vault Integration" +sidebar_position: 12.5 +--- + +Each Device42 discovery job is configured to use one or more sets of system credentials. If you already use HashiCorp Vault to manage passwords and other secrets, the Device42 HashiCorp Vault integration allows Device42 to securely retrieve these credentials from HashiCorp Vault as your primary secret management solution. + +HashiCorp Vault offers useful features such as automatic password rotation, which can be configured to rotate secrets per your specific corporate policies and industry guidelines. + +This page covers how to configure HashiCorp Vault, connect it to Device42, and use it as the credential source for discovery jobs. + +:::info +Passwords retrieved from HashiCorp Vault are not viewable in Device42. +::: + +## Configure HashiCorp Vault + +Configure the following settings in HashiCorp Vault before connecting to Device42: + +- **(Required) Role ID and Secret ID:** Create an AppRole in HashiCorp Vault with a policy that grants "read" access to the desired secret paths. AppRole authentication uses both `RoleID` and `SecretID` as credentials. See the [HashiCorp AppRole documentation](https://developer.hashicorp.com/vault/docs/auth/approle) for details on creating an AppRole and retrieving these values. +- **(Required) Secret Engine Path:** Specify the path to a valid KV Version 1 or Version 2 secret engine to retrieve secrets from. For example: `secret`, `kv`, `foo`, `bar`. +- **(Optional) Namespace:** If you are using multi-tenancy with namespaces, include the namespace as well. Note that this is limited to Vault Enterprise Standard or HCP Vault clusters. + +## Configure Device42 + +1. Select **Tools > Integrations > HashiCorp Vault** from the Device42 menu. + + ![](/assets/images/hashicorp-vault-integration/HashiCorp_2.png) + +2. Click the **Edit** button in the bottom right corner and enter your HashiCorp Vault RESTful API information. + + ![](/assets/images/hashicorp-vault-integration/HashiCorp_3.png) + +3. Verify connectivity by clicking the **Test Settings** button in the top right corner. + + ![](/assets/images/hashicorp-vault-integration/HashiCorp_4.png) + + The **Test Settings** button validates the supplied configuration settings by retrieving a token from HashiCorp Vault. If successful, a "HashiCorp Vault Settings Valid" message appears in the top right corner. + + ![](/assets/images/hashicorp-vault-integration/HashiCorp_5.png) + +4. If you encounter SSL errors, disable SSL Verification on the HashiCorp Vault configuration page before trying again. + + ![](/assets/images/hashicorp-vault-integration/HashiCorp_6.png) + +## Use the Integration for Discovery + +To create a new password object using HashiCorp Vault, select **HashiCorp Vault** from the **Password Storage** dropdown menu. + +![](/assets/images/hashicorp-vault-integration/HashiCorp_1.png) + +**Note:** By default, both usernames and passwords are retrieved from HashiCorp Vault by looking up the secret using its path within the vault. The value used for the lookup is assumed to be stored in the **Label** field of the related secret in Device42. If there is no value for **Label**, the value is taken from the **Username** field instead. + +Usernames and passwords are parsed from the secret returned by HashiCorp Vault using the slugs `username` and `password` respectively. You can override the default slugs using **Password Custom Fields** named `username_slug` and `password_slug`. From 65a82128dd0104cd14bb1eefe4e4ed8d7ffff19f Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:21:22 +0200 Subject: [PATCH 23/41] 1252: language-improvements; device42-hp-service-manager-integration --- ...evice42-hp-service-manager-integration.mdx | 93 +++++++++++-------- 1 file changed, 54 insertions(+), 39 deletions(-) diff --git a/docs/integration/external-integrations/device42-hp-service-manager-integration.mdx b/docs/integration/external-integrations/device42-hp-service-manager-integration.mdx index 840f489f0..817cc5a0d 100644 --- a/docs/integration/external-integrations/device42-hp-service-manager-integration.mdx +++ b/docs/integration/external-integrations/device42-hp-service-manager-integration.mdx @@ -3,59 +3,74 @@ title: "HP Service Manager Integration" sidebar_position: 13 --- -The Device42 HP Service Manager (HPSM) Connector enables HPSM users to seamlessly add Device42’s IT infrastructure management capabilities to their HPSM solution. HP Service Manager (HPSM) users can enhance their ITSM process, change management processes, and other workflows by syncing the Asset and CMDB data from Device42 to their HPSM instance. +The Device42 HP Service Manager (HPSM) Connector syncs asset and CMDB data from Device42 to your HPSM instance, enhancing your ITSM processes, change management workflows, and other operations with Device42's comprehensive discovery data. -Enjoy an improved HP Service Manager experience by leveraging Device42’s comprehensive Continuous Discovery, link service requests to the relevant CI, search for issues using CI attributes, and even see CI details in HPSM! +This page covers the requirements, configuration, and usage of the Device42-HPSM integration connector. ![Device42 Data in HPSM](/assets/images/2017-03-15-hpsm-1.png) -Using the Device42-hpsm integration connector, hpsm users can synchronize Device42’s enhanced asset management and tracking capabilities to their hpsm IP-enabled configuration items (CI) data maintained inside hpsm’s Configuration Management Database (CMDB). This synchronization can be manually refreshed at any time by the user and also scheduled for automatic refresh at user-defined intervals. Once Device42 CI data has been synced to HP Service Manager, users can see Device42 CI details (Asset tag, Assignment, Description, IP & MAC, and more) for those CIs in HPSM, while CI Data can also be seen for all HPSM-only CIs alike. Quickly view any service requests that are associated with a CI, as well. +Once Device42 CI data has been synced to HP Service Manager, you can see Device42 CI details (asset tag, assignment, description, IP and MAC, and more) for those CIs in HPSM. You can also link service requests to relevant CIs and search for issues using CI attributes. Synchronization can be manually refreshed at any time or scheduled for automatic refresh at user-defined intervals. +## Assumptions and Requirements -## Assumptions & Requirements: +1. This integration script was tested with HPSM v9.40 and Device42 v12.0.0. +2. Instructions assume you have a working Device42 and HPSM instance, at least the versions above or newer. +3. The integration requires Python 2.7.x. -1. This Integration's script was tested with HPSM v9.40 and Device42 v12.0.0 -2. Insructions assume you have a working Device42 and HPSM Instance, at least the versions above or newer. -3. Integration requires Python 2.7.x +## Integration Steps and Configuration -## Integration Steps, Configuration & Usage: +Integrate Device42 data with HPSM using the Device42-HPSM sync script. -Integrating Device42 data to HPSM is easily accomplished using the Device42-hpsm sync script. This script makes CI data integration a straightforward, easy process. +1. Create a working directory and copy the contents of the Device42_HPSM_Sync repository to it. +2. Copy (or rename) the settings file `conf.sample` to `conf`. +3. Edit the `conf` file to contain your Device42 and HPSM instance credentials (host, user, password): -1. Create a working directory foo and copy the contents of the Device42 Device42\_HPSM\_Sync repository to it -2. Copy (or move/rename) the settings file conf.sample to conf -3. Edit the conf file you created in the last step to contain your Device42 & HPSM instance credentials \[host, user, pass\]: +
+ Click to expand the code block + ``` + #========= Device 42 ========= # + d42_host = '192.168.1.102' + d42_username = 'user' + d42_password = 'pass' + #========= HPSM ========= # + hpsm_host = '10.42.42.46' + hpsm_protocol = 'http' + hpsm_port = '13080' + hpsm_username = 'user' + hpsm_password = 'pass' + hpsm_api_version = '9' + #========= Options ========= # + opt_debug = True + opt_dry_run = True + ``` +
-
- Click to expand the code block - ``` - #========= Device 42 ========= # - d42_host = '192.168.1.102' - d42_username = 'user' - d42_password = 'pass' - #========= HPSM ========= # - hpsm_host = '10.42.42.46' - hpsm_protocol = 'http' - hpsm_port = '13080' - hpsm_username = 'user' - hpsm_password = 'pass' - hpsm_api_version = '9' - #========= Options ========= # - opt_debug = True - opt_dry_run = True - ``` -
+4. Configure HPSM: Open the Database Dictionary and add a field (type `number`, name `device42.id`) to both the `computer` and `networkcomponents` models. -1. Configure HPSM: Open the Database Dictionary and add field (type ‘number’, name ‘device42.id’) to both the models ‘computer’ and ‘networkcomponents' ![Configure HPSM Database Dictionary](/assets/images/2015-03-15-hpsm-conf-1.png) ![Configure HPSM Databse Dictionary fields](/assets/images/2015-03-15-hpsm-conf-2.png) -2. Operator should have access to the REST API: ![Configure Operator API Access](/assets/images/2015-03-15-hpsm-3.png) -3. The API should allow “Computer” and “NetworkDevice” access, allowing both ‘add’ and ‘save’ actions: ![Configure Computer API Permissions](/assets/images/2015-03-15-hpsm-conf-4.png) ![Configure add and save API Permissions](/assets/images/2015-03-15-hpsm-conf-5.png) -4. Both endpoints must allow access to add & update all of the fields pictured. Exact field names can also be found in README.MD: ![Allow Add and Update](/assets/images/2015-03-15-hpsm-conf-6.png) -5. Set the unique key for both endpoints to: `logical.name`: + ![Configure HPSM Database Dictionary](/assets/images/2015-03-15-hpsm-conf-1.png) -![Set Unique Keys in HPSM](/assets/images/2015-03-15-hpsm-conf-7.png) + ![Configure HPSM Database Dictionary fields](/assets/images/2015-03-15-hpsm-conf-2.png) -6. Run `$ python starter.py`. +5. The operator should have access to the REST API: + + ![Configure Operator API Access](/assets/images/2015-03-15-hpsm-3.png) + +6. The API should allow **Computer** and **NetworkDevice** access, with both **add** and **save** actions enabled: + + ![Configure Computer API Permissions](/assets/images/2015-03-15-hpsm-conf-4.png) + + ![Configure add and save API Permissions](/assets/images/2015-03-15-hpsm-conf-5.png) + +7. Both endpoints must allow access to add and update all of the fields pictured. Exact field names can be found in `README.MD`: + + ![Allow Add and Update](/assets/images/2015-03-15-hpsm-conf-6.png) + +8. Set the unique key for both endpoints to `logical.name`: + + ![Set Unique Keys in HPSM](/assets/images/2015-03-15-hpsm-conf-7.png) + +9. Run `python starter.py`. ## Access the HPSM Integration Connector -Device42 and HP Service Manager users can access the free Integration Connector Script on our website: https://www.device42.com/integrations/hpsm/ +Download the free integration connector script from the [Device42 HPSM integration page](https://www.device42.com/integrations/hpsm/). From 1b483422bdf25a698d3b5c363b49c04716c1318f Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:21:22 +0200 Subject: [PATCH 24/41] 1252: language-improvements; jenkins-integration --- .../jenkins-integration.mdx | 91 ++++++++++++------- 1 file changed, 56 insertions(+), 35 deletions(-) diff --git a/docs/integration/external-integrations/jenkins-integration.mdx b/docs/integration/external-integrations/jenkins-integration.mdx index 5b1aad6e9..666139b23 100644 --- a/docs/integration/external-integrations/jenkins-integration.mdx +++ b/docs/integration/external-integrations/jenkins-integration.mdx @@ -3,62 +3,83 @@ title: "Jenkins Integration" sidebar_position: 14 --- -If you use Jenkins, the popular open-source automation server, it's likely your automated jobs authenticate against one or more local and/or remote systems as part of their tasks. The Device42/Jenkins integration allows Device42 to securely store & retrieve these credentials within Device42, which boasts a robust built-in secret/password management solution. Instead of trying to store new or existing credentials in your automation scripts, or in Jenkins in addition to countless other locations, leverage the centralized secret store in Device42. +The Device42-Jenkins integration allows Jenkins automation jobs to securely retrieve credentials stored in Device42 via the Device42 API. Instead of storing credentials in automation scripts or in multiple locations, you can leverage the centralized secret store in Device42. -Simply add or update a secret/password in Device42, and with the Jenkins integration, your automation instantly has access to the updated credentials. Forget manual credentials updates across your infrastructure! +When you add or update a secret in Device42, your Jenkins automations instantly have access to the updated credentials. This page covers how to install, configure, and use the Device42-Jenkins credentials plugin. -If you like this integration, check out the [Device42 integration page](https://www.device42.com/integrations/) for even more time saving & efficiency boosting features! +## Install the Device42-Jenkins Integration -  +![Jenkins](/assets/images/Jenkins-logo-butler-transparent.png) -## Installing the Device42-Jenkins Integration +### Build the Jenkins Plugin From Source (Optional) -![Jenkins](/assets/images/Jenkins-logo-butler-transparent.png) +**Maven** is required to build the plugin. -### Build he Jenkins plugin from source (optional) +1. Clone the Device42 Jenkins Plugin repo from GitHub: -_Note: **Maven** is required to build the plugin._ + ``` + git clone https://github.com/device42/device42-jenkins-credentials-plugin + ``` -1. Begin by cloning the Device42 Jenkins Plugin repo from Device42's Github: `git clone https://github.com/device42/device42-jenkins-credentials-plugin` -2. Next, change your working directory to the plugin directory of the repo you just cloned: `cd device42-jenkins-credentials-plugin` -3. Call Maven install to build the plugin: `mvn install -DskipTests` -4. Follow "Configuring Jenkins" section below to install the plugin you just built into Jenkins. +2. Change your working directory to the plugin directory: -### Configuring Jenkins + ``` + cd device42-jenkins-credentials-plugin + ``` -1. Login to your Jenkins instance. -2. Select the 'Manage Jenkins' Gear icon from the menu on the left, and then choose ‘Manage Plugins’ (green puzzle piece) --> 'Advanced' tab. -3. Click the "Browse" button under the "Upload Plugin" heading _(2nd from top)_ and select the `Device42.hpi` Device42 plugin you downloaded _\[or built from source\]_. -4. Click "Open" on the dialog, and then click the "Upload" button to upload the plugin to Jenkins: ![Upload Device42 Jenkins Plugin](/assets/images/upload_d42_plugin_hpi_jenkins.png) +3. Call Maven install to build the plugin: -  + ``` + mvn install -DskipTests + ``` -### Configuring Device42 +4. Follow the [Configure Jenkins](#configure-jenkins) section below to install the plugin you just built. -Device42 doesn't require any specific configuration for the integration other than having your D42 Main appliance up and running & its API accessible. +### Configure Jenkins -New passwords and Secrets are created & managed within Device42 (no changes from your usual workflow), and those secrets are read by the integration via the Device42 API each time Jenkins automation runs. +1. Log in to your Jenkins instance. +2. Select the **Manage Jenkins** gear icon from the menu on the left, then choose **Manage Plugins** > **Advanced** tab. +3. Click **Browse** under the **Upload Plugin** heading and select the `Device42.hpi` plugin you downloaded or built from source. +4. Click **Open** on the dialog, then click **Upload** to upload the plugin to Jenkins. -  + ![Upload Device42 Jenkins Plugin](/assets/images/upload_d42_plugin_hpi_jenkins.png) -### Using the Device42-Jenkins credentials integration +### Configure Device42 -The Device42-Jenkins credentials integration allows you to use passwords/secrets stored in Device42 within Jenkins automations by pulling them via the Device42 API when Jenkins automations run. Credentials stored within Device42 are made available in Jenkins as _variables_, the names of which are user-customizable. Each D42 credential variable may be referenced as many times as desired within a Jenkins automation. +Device42 does not require any specific configuration for the integration other than having your main appliance running and its API accessible. -The following example walks through embedding a new credential into a Jenkins automation, and then pulls it and a second credential from Device42 and stores attributes from both into a text file, which can then be seen on the host instance, thus demonstrating the concept. Users can then use this technique to power any integration needed across their enterprise utilizing secrets centrally and securely stored within Device42: +Passwords and secrets are created and managed within Device42 as usual. The integration reads those secrets via the Device42 API each time a Jenkins automation runs. -1. Begin by creating a new Jenkins automation Job _\[via the + button tab\]_, or opening an existing Job for editing within Jenkins _\[by clicking its name\]_: ![Jenkins add or edit job](/assets/images/jenkins_add-edit_job.png) -2. Within the job configuration, scroll down to "Bindings" (or click the "build triggers" tab to jump). Click the "Add" button (#1), and choose "Device42 Secret credentials" (#2) from the popup to insert a D42 credential variable. Click the "Add" button with the key icon (#3) to select the Device42 credential you want to add: ![Add a Device42 credential variable to Jenkins](/assets/images/add_d42_secret_credential_to_job.png) -3. You can now specify the details of the Device42 credential you'd like to associate. Specify the following: **Kind** of credential - which in this case is a _'Device42 Secret Credential'_, **Scope**: _(required)_\- availability of your credential variable to other Jenkins jobs, **Device**: _(required)_\- the name of the device the credential is associated with in Device42, **User**: _(required)_\- the username associated with credential/secret in Device42 **ID**: _(normally left blank & auto-generated)_ - An internal unique ID assigned to the credential; useful for scripted configurations. **Description** - _(optional)_\- specify a descriptive description so you can recognize this credential in Jenkins \[and tell it apart from others w/ the same username\] ![add D42 credential fields](/assets/images/add_d42_credentials_fields.png) -4. You may now reference your new Device42 credential variable using the `$Variable_Name` as specified in the _Execute Shell_: ![Jenkins Execute Shell with D42 credential variables](/assets/images/D42_secrets_as_Jenkins_variables.png) Repeat the above steps to add more credentials from Device42, if desired. -5. Congratulations - You're all set! Go ahead and leverage the Device42 - Jenkins integration to power some of your production automation jobs, and say good-bye to the scramble that goes along with trying to update credentials in 2038342 different places last minute! +### Use the Device42-Jenkins Credentials Integration -  +The integration allows you to use passwords and secrets stored in Device42 within Jenkins automations by pulling them via the Device42 API when Jenkins automations run. Credentials stored in Device42 are made available in Jenkins as variables, the names of which are user-customizable. Each credential variable can be referenced as many times as needed within a Jenkins automation. -If you have any questions about the Device42-Jenkins plugin, or are experiencing issues, please open a ticket @ [support.device42.com](https://support.device42.com) or [email support@device42.com](mailto:support@device42.com) and we'll do the best we can to help. Note that we only provide basic troubleshooting assistance for problems involving the integration itself. +The following example walks through embedding a new credential into a Jenkins automation, pulling it and a second credential from Device42, and storing attributes from both into a text file on the host instance. -* * * +1. Create a new Jenkins automation job (via the **+** button tab) or open an existing job for editing (by clicking its name). + + ![Jenkins add or edit job](/assets/images/jenkins_add-edit_job.png) + +2. Within the job configuration, scroll down to **Bindings** (or click the **Build Triggers** tab to jump). Click **Add** and choose **Device42 Secret Credentials** from the popup to insert a credential variable. Click the **Add** button with the key icon to select the Device42 credential you want to add. + + ![Add a Device42 credential variable to Jenkins](/assets/images/add_d42_secret_credential_to_job.png) -Download the [Device42 Jenkins integration plugin](https://github.com/device42/device42-jenkins-credentials-plugin/) today. +3. Specify the details of the Device42 credential you want to associate: + - **Kind:** The credential type — in this case, **Device42 Secret Credential**. + - **Scope:** (Required) The availability of your credential variable to other Jenkins jobs. + - **Device:** (Required) The name of the device the credential is associated with in Device42. + - **User:** (Required) The username associated with the credential in Device42. + - **ID:** (Normally left blank and auto-generated) An internal unique ID assigned to the credential, useful for scripted configurations. + - **Description:** (Optional) A description to help you recognize this credential in Jenkins. + + ![Add Device42 credential fields](/assets/images/add_d42_credentials_fields.png) + +4. Reference your new Device42 credential variable using `$Variable_Name` in the **Execute Shell**. Repeat the above steps to add more credentials from Device42 as needed. + + ![Jenkins Execute Shell with Device42 credential variables](/assets/images/D42_secrets_as_Jenkins_variables.png) + +Contact [support@device42.com](mailto:support@device42.com) if you have questions about the Device42-Jenkins plugin or encounter issues. + +* * * -_Note that Device42 is required to use the Device42-Jenkins plugin_. [Download a free trial](https://www.device42.com/download/) _\[all features, no nag-ware\]_ now! +Download the [Device42 Jenkins integration plugin](https://github.com/device42/device42-jenkins-credentials-plugin/) from GitHub. From d701acadcaff6ec7d3046c37ed53bf8954952c3c Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 15:14:14 +0200 Subject: [PATCH 25/41] 1252: language-improvements; microsoft-laps-integration --- .../external-integrations/microsoft-laps-integration.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/integration/external-integrations/microsoft-laps-integration.mdx b/docs/integration/external-integrations/microsoft-laps-integration.mdx index 4f45d0691..c6ffdd6ef 100644 --- a/docs/integration/external-integrations/microsoft-laps-integration.mdx +++ b/docs/integration/external-integrations/microsoft-laps-integration.mdx @@ -3,8 +3,8 @@ title: "Microsoft LAPS Integration" sidebar_position: 18 --- -Device42 integrates with and can pull a password from the Microsoft LAPS (Local Admin Password Solution). Microsoft LAPS refers to a method which secures Active Directory member servers by randomly generating each server’s local admin password, and storing the generated PW as an attribute of that servers AD object in Active Directory. This password can then be looked up on demand via an Active Directory / LDAP query, and is often used to support scripted / automated actions that iterate through lists of AD member servers. +Device42 integrates with Microsoft LAPS (Local Admin Password Solution) and can retrieve passwords stored by it. Microsoft LAPS secures Active Directory member servers by randomly generating each server's local admin password and storing it as an attribute of that server's AD object. The password can then be retrieved on demand via an Active Directory or LDAP query, and is commonly used to support scripted or automated actions that iterate through lists of AD member servers. -**[Click here to jump to the Microsoft LAPS section of the Windows Discovery documentation page!](/auto-discovery/windows-and-hyper-v-auto-discovery.mdx)** +For setup instructions, see the [Microsoft LAPS section of the Windows Discovery documentation page](/auto-discovery/windows-and-hyper-v-auto-discovery). -If you want to [Download LAPS from Microsoft, click here.](https://www.microsoft.com/en-us/download/details.aspx?id=46899) For further resources/information on LAPS, see the [Microsoft LAPS Section of the Windows Discovery docs page](/auto-discovery/windows-and-hyper-v-auto-discovery.mdx) (also linked above)! +To download LAPS, visit the [Microsoft Download Center](https://www.microsoft.com/en-us/download/details.aspx?id=46899). From cebe5fbc5b502ba85a3c98622371b71c5ce380a3 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 15:23:10 +0200 Subject: [PATCH 26/41] 1252: language-improvements; monitor-device42-health-status-in-nagios --- ...nitor-device42-health-status-in-nagios.mdx | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/docs/integration/external-integrations/monitor-device42-health-status-in-nagios.mdx b/docs/integration/external-integrations/monitor-device42-health-status-in-nagios.mdx index 7d3319487..5871e460d 100644 --- a/docs/integration/external-integrations/monitor-device42-health-status-in-nagios.mdx +++ b/docs/integration/external-integrations/monitor-device42-health-status-in-nagios.mdx @@ -3,16 +3,18 @@ title: "Nagios Integration" sidebar_position: 19 --- -Device42 offers a [Nagios plugin for Device42](https://github.com/device42/Device42-Nagios-Health-Check). It is available for download via Github, and allows easy monitoring of the health status of your Device42 appliance. Data returned includes: +The Device42 Nagios plugin lets you monitor the health status of your Device42 appliance from within Nagios. This page covers how to install and configure the plugin, add Device42 to Nagios, and view health status data. -- Device42 Database Size -- Appliance Disk space usage +The plugin is [available on GitHub](https://github.com/device42/Device42-Nagios-Health-Check) and returns the following data: + +- Device42 database size +- Appliance disk space usage - Memory usage - CPU usage -## Install the Nagios Add-On +## Install the Nagios Plugin -Prior to installing the plugin, there are a couple prerequisites we should make sure are installed. +Before installing the plugin, ensure the following prerequisites are installed. On Ubuntu: @@ -20,48 +22,48 @@ On Ubuntu: apt-get install libnagios-plugin-perl libjson-perl libwww-perl ``` -On Redhat: +On Red Hat: ``` yum install perl-JSON.noarch perl-Nagios-Plugin.noarch ``` -To install the Nagios plugin, clone the repository to your nagios server, e.g.: +To install the plugin, clone the repository to your Nagios server: ``` git clone https://www.github.com/device42/nagios ``` -Copy the check\_d42\_health.pl file to your Nagios plugin directory: +Copy the `check_d42_health.pl` file to your Nagios plugin directory: ``` cp check_d42_health.pl /usr/local/nagios/libexec/ ``` -And make it executable: +Make it executable: ``` chmod +x /usr/local/nagios/libexec/check_d42_health.pl ``` -Next, copy the d42.cfg file to your Nagios configuration path, (e.g. /usr/local/nagios/etc/objects): +Copy the `d42.cfg` file to your Nagios configuration path (for example, `/usr/local/nagios/etc/objects`): ``` cp d42.cfg /usr/local/nagios/etc/objects ``` -Edit d42.cfg in your favorite editor and customize the following lines, starting on line 30: +Edit `d42.cfg` and customize the following lines, starting on line 30: ``` define host{ - host_name device42 # if you edit the hostname, be sure to edit the hostname in the services defined as well - alias device42 - address 192.168.11.211 + host_name device42 # if you edit the hostname, be sure to edit the hostname in the services defined as well + alias device42 + address 192.168.11.211 ``` ### Use SSL with the Integration -To enable checking over SSL, in the Health Check Command section of d42.cfg, add the port number with the -P option and --ssl to enable ssl, e.g: +To enable checking over SSL, add the port number with the `-P` option and `--ssl` in the Health Check Command section of `d42.cfg`: ``` command_line /usr/bin/perl $USER1$/check_d42_health.pl -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$ -c $ARG3$ -P 4343 --ssl @@ -69,31 +71,29 @@ command_line /usr/bin/perl $USER1$/check_d42_health.pl -H $HOSTADDRESS$ -I $A ## Add Device42 to Nagios -With the scripts in place and configured, the last step is to edit your nagios.cfg file and add a line to add the Device42 configuration: +With the scripts in place and configured, edit your `nagios.cfg` file and add a line to include the Device42 configuration: ``` cfg_file=/usr/local/nagios/etc/objects/d42.cfg ``` -Be sure to change the path to reflect where you've place the d42.cfg file. - -After this, restart Nagios: +Update the path to match where you placed the `d42.cfg` file, then restart Nagios: ``` service nagios restart ``` -Now when you browse to Nagios, you should see your Device42 instance start to report information: +After restarting, browse to Nagios to see your Device42 instance reporting health information. -## View Device42's Health Status in Nagios +## View Device42 Health Status in Nagios -When you select the Device42 host from Nagios, you will now be able to see the appliance's current status via the various health checks: +When you select the Device42 host from Nagios, you can see the appliance's current status via the various health checks: ![Device42 Health Status in Nagios](/assets/images/2016-03-26-Nagios-01.png) -The Backup Status will report an error if any one of your backup jobs has failed. The Free disk space, memory, and swap statuses have thresholds that can be set in d42.cfg. When setting the thresholds “50” will trigger the flag if the value is greater than 50 while “50:” will trigger the flag if the value is less than 50. +Backup Status reports an error if any backup job has failed. The free disk space, memory, and swap statuses have thresholds that can be set in `d42.cfg`. A threshold of `50` triggers the flag if the value is greater than 50, while `50:` triggers the flag if the value is less than 50. -The following are suggested 'sane' thresholds for the default Device42 disk size and default allotted memory. Note if your appliance is using difference settings, you'll want to configure these appropriately: 50GB HDD, and 4GB RAM: +The following are suggested thresholds for the default Device42 disk size (50 GB HDD) and default allotted memory (4 GB RAM). If your appliance uses different settings, configure these values accordingly: * * * @@ -113,8 +113,8 @@ The following are suggested 'sane' thresholds for the default Device42 disk size ![Device42 Trending Stats](/assets/images/2016-03-26-Nagios-02.png) -You can also view the trending data for any health stat by clicking the service and then "View Trending Data for this Service" +You can view trending data for any health stat by clicking the service and then **View Trending Data for this Service**. ![Device42 Health Log](/assets/images/2016-03-26-Nagios-03.png) -A log of all statuses is available for the host by clicking "View Notifications for this Host". +A log of all statuses is available for the host by clicking **View Notifications for this Host**. From e811b2db8e88eab45be5b53dd90539395bb59383 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 15:28:58 +0200 Subject: [PATCH 27/41] 1252: language-improvements; odbc-driver-integration --- .../odbc-driver-integration.mdx | 100 +++++++++--------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/docs/integration/external-integrations/odbc-driver-integration.mdx b/docs/integration/external-integrations/odbc-driver-integration.mdx index 7d7c20716..f5094e522 100644 --- a/docs/integration/external-integrations/odbc-driver-integration.mdx +++ b/docs/integration/external-integrations/odbc-driver-integration.mdx @@ -3,127 +3,127 @@ title: "ODBC Driver Integration" sidebar_position: 20 --- -The Device42 ODBC driver allows users to connect to Device42 and pull data externally as an ODBC (Open Database Connectivity) data source. The current ODBC driver installs on Microsoft Windows, and Device42 provides instructions to leverage both generic ODBC connectivity, and to connect Microsoft PowerBI to your Device42 ODBC datasource below. +The Device42 ODBC driver lets you connect to Device42 and pull data externally as an ODBC (Open Database Connectivity) data source. The driver installs on Microsoft Windows and supports generic ODBC connectivity as well as connecting Microsoft PowerBI to your Device42 ODBC data source. -**Download the Device42 ODBC driver** (which should work with many ODBC-compatible consumers) directly from the [Device42 Miscellaneous Tools Download page](https://www.device42.com/miscellaneous-tools/). +**Download the Device42 ODBC driver** from the [Device42 Miscellaneous Tools Download page](https://www.device42.com/miscellaneous-tools/). ## ODBC System Requirements -System requirements for connecting to Device42 via ODBC are as follows: +The following are required to connect to Device42 via ODBC: -- Current Device42 installation, properly configured, licensed, running, and accessible. -- A host system for the D42 ODBC driver running Microsoft Windows. -- PowerBI software to follow the tutorial below to connect to the Device42 ODBC data source. +- A current Device42 installation that is properly configured, licensed, running, and accessible. +- A host system for the Device42 ODBC driver running Microsoft Windows. +- PowerBI software, if you want to follow the tutorial below to connect to the Device42 ODBC data source. -### Install the Device42 ODBC Driver +## Install the Device42 ODBC Driver -To install the Device42 ODBC driver, download the .exe installer from https://device42.com and double-click to install on a Microsoft Windows-based instance. Follow the instructions on the screen, clicking **Next** until you see **Installation Complete**, indicating you have finished installing the Device42 ODBC data source driver: +To install the Device42 ODBC driver, download the `.exe` installer from https://www.device42.com/miscellaneous-tools/ and double-click to run it on a Microsoft Windows-based system. Follow the on-screen instructions, clicking **Next** until you see **Installation Complete**: ![ODBC Driver Installation complete Windows](/assets/images/ODBC_driver_install_complete.png) -## Connect PowerBI to the Device42 ODBC Datasource +## Connect PowerBI to the Device42 ODBC Data Source -Device42's ODBC driver works to connect Microsoft PowerBI directly to your Device42 CMDB. For details on using PowerBI with Device42's ODBC driver, see the [Microsoft PowerBI Integration documentation](integration/external-integrations/powerbi-integration.mdx). +The Device42 ODBC driver works with Microsoft PowerBI to connect directly to your Device42 CMDB. For details, see the [Microsoft PowerBI Integration documentation](/integration/external-integrations/powerbi-integration). ## Create a DSN -1. To create or pre-define a DSN (Data Source Name), open the Windows ODBC Data Source Administrator via the Windows Start Menu. **Windows 10:** Click **Start > Windows Administrative Tools > ODBC Data Sources (64-bit)** (note there is also a 32-bit version, which you can ignore). **Windows 7:** Click **Start > All Programs > Administrative Tools > Data Sources (ODBC)**: +To create or pre-define a DSN (Data Source Name), open the Windows ODBC Data Source Administrator: + +- **Windows 10:** Click **Start > Windows Administrative Tools > ODBC Data Sources (64-bit)**. +- **Windows 7:** Click **Start > All Programs > Administrative Tools > Data Sources (ODBC)**. ![ODBC Datasource Admin](/assets/images/ODBC_Datasource_Administrator.png) -2. Click the **Add** button to begin adding a new datasource. In the **Create New Data Source** window that is displayed, choose **Device42 ODBC Driver** and click **Finish**: +1. Click **Add** to begin adding a new data source. In the **Create New Data Source** window, choose **Device42 ODBC Driver** and click **Finish**: ![Add Device42 ODBC Driver DSN](/assets/images/add_device42_ODBC_driver_source.png) -3. On the **Device42 ODBC Driver DSN Configuration** screen that is displayed, enter values as explained below: +2. On the **Device42 ODBC Driver DSN Configuration** screen, enter values as described below: ![Device42 DSN configuration](/assets/images/DSN_Configuration_Screen.png) -- **DSN Name**: The name to identify this DSN. -- **Server Host**: The host name of the Device42 server. -- **Port**: The port number that the Device42 server is servicing requests on. The default value is the standard SSL port of 443. If you leave this field blank, it will also default to 443. -- **Username**: The username you use to login to Device42. -- **Password**: The password you use to login to Device42. +- **DSN Name:** The name to identify this DSN. +- **Server Host:** The host name of the Device42 server. +- **Port:** The port number that the Device42 server uses for requests. The default is the standard SSL port `443`. If you leave this field blank, it also defaults to `443`. +- **Username:** The username you use to log in to Device42. +- **Password:** The password you use to log in to Device42. :::note -The ODBC connection requires a valid SSL certificate on your Device42 instance, otherwise the connection will error out. If you're using Device42 for internal use only and don't have a valid certificate, you can upload a self-signed certificate to your Main Appliance and restart the service to get the ODBC connection working. +The ODBC connection requires a valid SSL certificate on your Device42 instance, otherwise the connection will fail. If you're using Device42 for internal use only and don't have a valid certificate, you can upload a self-signed certificate to your Main Appliance and restart the service to get the ODBC connection working. ::: -4. Click the **Test** button to try connecting using the information you specified. You will receive a message if the connection could or could not be made. If the connection could not be made, verify that the information you entered is correct. -5. Click the **Save** button to save the changes you made to the DSN. Your changes will only be saved if the information entered results in a successful connection. If the connection could not be made, verify that the information you entered is correct. +3. Click **Test** to try connecting using the information you specified. You will receive a message indicating whether the connection succeeded. If it did not, verify the information you entered. +4. Click **Save** to save the DSN. Changes are only saved if the connection is successful. -Setup of the Device42 ODBC DSN is complete. You should now be able to utilize the pre-configured DSN throughout PowerBI. +The Device42 ODBC DSN is now configured and available for use in PowerBI. --- ## Import Data Into MS SQL Server -Using the Device42 ODBC driver, it is possible to import data directly into SQL Server. The following procedure will facilitate a data import. (The following instructions are for Windows 10 and may differ from other versions of Windows). +Using the Device42 ODBC driver, you can import data directly into SQL Server. The following instructions are for Windows 10 and may differ from other versions of Windows. ### Import Prerequisites -1. Begin by copying the Mapping files (The mapping files control how data types from the Device42 ODBC Driver map to Microsoft SQL Server data types). -2. Start the **SQL Server Import and Export Wizard**. -3. Start **Task Manager**. -4. Browse to the location of the **SQL Server Import and Export Wizard** executable. Right-click on the app executable (it will be named similar to **SQL Server Import and Export Wizard**). Note that the name may end with "32 bit" or "64 bit" and the .exe file extension. +Before starting the import, copy the mapping files that control how data types from the Device42 ODBC Driver map to Microsoft SQL Server data types: + +1. Start **Task Manager**, then browse to the **SQL Server Import and Export Wizard** executable. Right-click the app executable (named similarly to **SQL Server Import and Export Wizard**, possibly ending with "32 bit" or "64 bit"). ![Browse to the SQL import export wizard](/assets/images/DTSWizard.exe-explorer.png) - 1. Click **Open file location** and go up one level to the `DTS` folder. - 2. Go into the `MappingFiles` folder. - 3. Open another instance of Windows Explorer. - 4. Go to `C:\\Program Files\\Device42\\Device42 ODBC Driver\\MS SQL Server Mapping Files`. - 5. Copy files `D42ODBCToMSSql10.XML` and `D42ODBCToSSIS10.XML` from `C:\\Program Files\\Device42\\Device42 ODBC Driver\\MS SQL Server Mapping Files` and paste them in the `DTS\\MappingFiles` folder of the **SQL Server Import and Export Wizard** that you found earlier. - 6. Close the **SQL Server Import and Export Wizard**. The mapping files that were just copied will not take effect until the **SQL Server Import and Export Wizard** is restarted. +2. Click **Open file location** and go up one level to the `DTS` folder, then open the `MappingFiles` folder. +3. Open another Windows Explorer window and navigate to `C:\Program Files\Device42\Device42 ODBC Driver\MS SQL Server Mapping Files`. +4. Copy `D42ODBCToMSSql10.XML` and `D42ODBCToSSIS10.XML` into the `DTS\MappingFiles` folder you found in step 2. +5. Close and restart the **SQL Server Import and Export Wizard** for the mapping files to take effect. ### SQL Server Data Import Procedure -Note: These instructions are for SQL Server Management Studio v17.9.1 and may differ from other versions of SQL Server Management Studio. +These instructions apply to SQL Server Management Studio v17.9.1 and may differ from other versions. -1. Start the **SQL Server Import and Export Wizard**. You will see the following screen and can press **Next**: +1. Start the **SQL Server Import and Export Wizard** and click **Next**: ![SQL Server import export wizard welcome](/assets/images/welcome_to_SQL_import_export_wizard.png) -2. Select a data source of **.Net Framework Data Provider for ODBC**: +2. Select **.Net Framework Data Provider for ODBC** as the data source: ![Choose a Data Source](/assets/images/Choose-data-source.png) -3. Enter a connection string or DSN for the Device42 ODBC Driver and then click the **Next** button. -4. Select a destination of **SQL Server Native Client 11.0**: +3. Enter a connection string or DSN for the Device42 ODBC Driver, then click **Next**. +4. Select **SQL Server Native Client 11.0** as the destination: ![Choose destination SQL native client](/assets/images/choose-destination.png) -5. Enter the server and database to import the data to, plus appropriate authentication details with proper permissions. -6. Choose how you'd like to select Device42 data – from a table or view, or using a query, then click **Next**: +5. Enter the server and database to import data into, along with authentication details with the appropriate permissions. +6. Choose how to select Device42 data — from a table or view, or using a query — then click **Next**: ![Copy data from table/view or from a query](/assets/images/specify-table-or-query.png) -7. **If you selected “Write a query to specify the data to transfer”**, then go ahead and enter your query _(otherwise, skip this step)_: +7. **If you selected "Write a query to specify the data to transfer"**, enter your query: ![Provide source query](/assets/images/provide-source-query.png) -8. **If you selected “Copy data from one or more tables or views”**, select the views you'd like to copy: +8. **If you selected "Copy data from one or more tables or views"**, select the views to copy: ![Select Source Tables and Views](/assets/images/select-source-tables.png) -9. Click the **Edit Mappings** button to review or change which data will be copied (you can select a destination of "" if you do not want to copy a column) and attributes of the destination column such as data type. +9. Click **Edit Mappings** to review or change which data will be copied and the attributes of the destination columns, such as data type: ![Column Mappings window](/assets/images/column-mappings.png) -10. Close the **Column Mappings** window, and then click the **Preview** button to see a sample of the data that will be copied: +10. Close the **Column Mappings** window, then click **Preview** to see a sample of the data that will be copied: ![Preview data to be copied](/assets/images/preview-data.png) -11. Close the **Preview Data** window, and then click the **Next** button to continue. -12. Review the selected data type mappings, and then click the **Next** button: +11. Close the **Preview Data** window, then click **Next**. +12. Review the selected data type mappings, then click **Next**: ![Review Data Type Mappings](/assets/images/review-data-type-mapping.png) -13. Select if you want to run the data import immediately and or to save it as an SSIS package: +13. Choose whether to run the import immediately or save it as an SSIS package: ![Run now or Create Save and Run Package](/assets/images/save-and-run-package.png) -14. Click the **Next** button, and review the selections made in the **SQL Server Import and Export Wizard**. -15. Click the **Finish** button to complete the wizard. Your data import should be imported according to your chosen settings. +14. Click **Next** and review your selections in the wizard. +15. Click **Finish** to complete the import. -If you have any questions about the Device42 ODBC driver that aren't answered here, please open a ticket at [https://support.device42.com](https://support.device42.com) or email support@device42.com. +For questions about the Device42 ODBC driver not answered here, open a ticket at [support.device42.com](https://support.device42.com) or email support@device42.com. From 7aee20c72e15624c92de0e413418431a61929b37 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 15:40:08 +0200 Subject: [PATCH 28/41] 1252: language-improvements; jdbc-driver-integration --- .../jdbc-driver-integration.mdx | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/docs/integration/external-integrations/jdbc-driver-integration.mdx b/docs/integration/external-integrations/jdbc-driver-integration.mdx index 77a62af1c..757d3a80d 100644 --- a/docs/integration/external-integrations/jdbc-driver-integration.mdx +++ b/docs/integration/external-integrations/jdbc-driver-integration.mdx @@ -3,37 +3,33 @@ title: "JDBC Driver Integration" sidebar_position: 21 --- -The Device42 Java Database Connectivity (JDBC) driver allows you to connect to Device42 and pull data externally as a JDBC data source. The JDBC driver can be used on any platform that supports Java. +The Device42 Java Database Connectivity (JDBC) driver lets you connect to Device42 and pull data externally as a JDBC data source. The driver works on any platform that supports Java and is compatible with any JDBC-compatible client. -Download the Device42 JDBC driver – which should work with any JDBC-compatible client – directly from the [Device42 Miscellaneous Tools download page](https://www.device42.com/miscellaneous-tools/). +Download the Device42 JDBC driver from the [Device42 Miscellaneous Tools download page](https://www.device42.com/miscellaneous-tools/). ## JDBC System Requirements -System requirements for connecting to Device42 via JDBC are: +The following are required to connect to Device42 via JDBC: -- A current Device42 installation, properly configured, licensed, running, and accessible. -- A host system for the D42 JDBC driver running a platform that supports Java. +- A current Device42 installation that is properly configured, licensed, running, and accessible. +- A host system for the Device42 JDBC driver running a platform that supports Java. - A JDBC-compatible client to connect to the Device42 JDBC data source. -## Install the Device42 JDBC Driver - -To install the Device42 JDBC driver, download the JAR file from [https://www.device42.com/miscellaneous-tools/](https://www.device42.com/miscellaneous-tools/). - ## Connect SQL Workbench to the Device42 JDBC Data Source These steps are for SQL Workbench; other JDBC-compatible clients will have similar steps. -1. Install SQL Workbench/J ([https://dev.mysql.com/doc/workbench/en/wb-installing.html)](https://dev.mysql.com/doc/workbench/en/wb-installing.html). +1. Install [SQL Workbench/J](https://dev.mysql.com/doc/workbench/en/wb-installing.html). 2. Run SQL Workbench/J. -3. Click **File** -> **Connect Window** -> **Manage Drivers**. -4. Create new driver using the path to the downloaded JDBC driver JAR file and the classname _com.device42.jdbc.D42Driver_. +3. Click **File > Connect Window > Manage Drivers**. +4. Create a new driver using the path to the downloaded JDBC driver JAR file and the class name `com.device42.jdbc.D42Driver`. -![](/assets/images/JDBC1-1.png) +![SQL Workbench driver configuration](/assets/images/JDBC1-1.png) -5. Create a new profile using the created driver with a URL such as _jdbc:doql://sandbox.device42.com:443_ (port 443) and your credentials to your Device42 instance. Replace _sandbox.device42.com_ with your Device42 instance. +5. Create a new profile using the driver you created, with a URL such as `jdbc:doql://sandbox.device42.com:443` and your Device42 credentials. Replace `sandbox.device42.com` with your Device42 instance hostname. -![](/assets/images/JDBC2-1.png) +![SQL Workbench profile configuration](/assets/images/JDBC2-1.png) 6. Test a query. -![](/assets/images/JDBC3.png) +![SQL Workbench query test](/assets/images/JDBC3.png) From bc693f3e2dcf7600ce1a1a7c36eab0c110068d05 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 15:42:55 +0200 Subject: [PATCH 29/41] 1252: language-improvements; opsgenie-integration --- .../opsgenie-integration.mdx | 70 +++++++++---------- 1 file changed, 32 insertions(+), 38 deletions(-) diff --git a/docs/integration/external-integrations/opsgenie-integration.mdx b/docs/integration/external-integrations/opsgenie-integration.mdx index 6075cfe81..deae52123 100644 --- a/docs/integration/external-integrations/opsgenie-integration.mdx +++ b/docs/integration/external-integrations/opsgenie-integration.mdx @@ -3,80 +3,74 @@ title: "Opsgenie Integration" sidebar_position: 22 --- -Device42 integrates with Opsgenie to automatically route alerts to your incident management platform. This page explains how to configure the integration and set up alert forwarding. +Device42 integrates with Opsgenie to automatically route alerts to your incident management platform. This page explains how to configure the integration, set up alert forwarding, and test it with a prohibited software alert. ## Set Up an API Key in Opsgenie -- Click **Settings** in the Opsgenie top navigation bar. +Click **Settings** in the Opsgenie top navigation bar. -![](/assets/images/Opsgenie_1_Settings-1.png) +![Opsgenie Settings menu](/assets/images/Opsgenie_1_Settings-1.png) -- Click **Integrations list** in the **Integrations** section on the left panel. -- Hover over the **API** tile and click **Add.** +In the **Integrations** section on the left panel, click **Integrations list**. Hover over the **API** tile and click **Add**. -![](/assets/images/Opsgenie_2_Integrations.png) +![Opsgenie Integrations list](/assets/images/Opsgenie_2_Integrations.png) -**Set Up The API** +### Configure the API - Enter a **Name** for the API. -- Make note of and copy the **API Key**.  You will need to enter this API key into Device42. +- Copy the **API Key** — you will need to enter it into Device42. -![](/assets/images/Opsgenie_3_API-1.png) +![Opsgenie API key setup](/assets/images/Opsgenie_3_API-1.png) -- Scroll down the page and ensure that the **Create and Update Access** option is enabled. +- Scroll down and ensure that **Create and Update Access** is enabled. - Click **Save Integration**. -![](/assets/images/Opsgenie_5_API_c.png) +![Opsgenie Save Integration](/assets/images/Opsgenie_5_API_c.png) -## Set Up Opsgenie External Integration in Device42 +## Set Up the Opsgenie External Integration in Device42 -- From the Device42 menu bar, select **Tools > Integrations > External Integrations**. -- Select **Add External Integration** on the top right of the page. +From the Device42 menu bar, select **Tools > Integrations > External Integrations**, then click **Add External Integration** in the top right. -![](/assets/images/Opsgenie_6_D42_Ext_Intg.png) +![Device42 External Integrations page](/assets/images/Opsgenie_6_D42_Ext_Intg.png) -- Set the **URL** as user’s Opsgenie URL. +- Set the **URL** to your Opsgenie URL. - Select **Opsgenie** from the **Type** drop-down menu. -- Click the **Token** magnifying glass to open the Select Password page. +- Click the **Token** magnifying glass icon to open the Select Password page. -![](/assets/images/Opsgenie_7_D42_PW.png) +![Device42 Token selection](/assets/images/Opsgenie_7_D42_PW.png) -- Click **Add Password** and use the Opsgenie API Key to create a new Token. +- Click **Add Password** and use the Opsgenie API key to create a new token. - Click **Save**. -- The Opsgenie integration is now configured in Device42. -![](/assets/images/Opsgenie_8_D42_View_Intg.png) +![Device42 Opsgenie integration view](/assets/images/Opsgenie_8_D42_View_Intg.png) -## Set Up an Alert to Use Opsgenie +## Set Up an Alert To Use Opsgenie -You need to configure a Device42 alert to use the Opsgenie external integration to route the alert message to Opsgenie.  The following steps will configure a prohibited software alert, but any type of alert can be used with the Opsgenie external integration and would have similar steps. +To route a Device42 alert to Opsgenie, you need to configure an alert that uses the Opsgenie external integration. The following steps configure a prohibited software alert as an example, but any alert type can use the Opsgenie integration with similar steps. -- From the Device42 menu bar, select **Reports > Setup Alerts**. +From the Device42 menu bar, select **Reports > Setup Alerts**. -![](/assets/images/Opsgenie_9_D42_View_Alert.png) +![Device42 Alerts view](/assets/images/Opsgenie_9_D42_View_Alert.png) -- Click **Add Alert**. +Click **Add Alert**. -![](/assets/images/Opsgenie_10_D42_Add_Alert.png) +![Device42 Add Alert](/assets/images/Opsgenie_10_D42_Add_Alert.png) - Select **Rule Type: Software**. -- Select **Trigger:** **Prohibited Software Installed**. -- Select **Alert Type:** Alert. +- Select **Trigger: Prohibited Software Installed**. +- Select **Alert Type: Alert**. - Select the Opsgenie URL from the **Alert Integration** drop-down list. - Click **Save**. ## Configure Software as Prohibited -- From the Device42 menu bar, select **Apps > Software > Software Components**. -- Select the software component you want to set as prohibited (this example uses _7 Zip_). -- Select the **Edit** button on the top right. -- Select **Software Type: Prohibited**. -- Click **Save** button at the bottom right. +From the Device42 menu bar, select **Apps > Software > Software Components**. Select the software component you want to mark as prohibited (this example uses `7 Zip`), then click **Edit** in the top right. -![](/assets/images/Opsgenie_11_D42_View_SW.png) +- Select **Software Type: Prohibited**. +- Click **Save**. -This marks the software as prohibited and will trigger the alert created in the section above. +![Device42 Software Component view](/assets/images/Opsgenie_11_D42_View_SW.png) -If the 7 Zip software is detected during discovery, an alert is generated in Opsgenie similar to the alert shown below. +This marks the software as prohibited and triggers the alert created in the previous section. If `7 Zip` is detected during discovery, an alert is generated in Opsgenie similar to the one shown below. -![](/assets/images/Opsgenie_12_OG_Alert.png) +![Opsgenie alert example](/assets/images/Opsgenie_12_OG_Alert.png) From 73c264d711c5a566a6656f0d29188e8491f1b326 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 15:45:42 +0200 Subject: [PATCH 30/41] 1252: language-improvements; pagerduty-integration --- .../pagerduty-integration.mdx | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/docs/integration/external-integrations/pagerduty-integration.mdx b/docs/integration/external-integrations/pagerduty-integration.mdx index aa40f6bce..4273d77fe 100644 --- a/docs/integration/external-integrations/pagerduty-integration.mdx +++ b/docs/integration/external-integrations/pagerduty-integration.mdx @@ -6,11 +6,9 @@ sidebar_position: 23 import ThemedImage from '@theme/ThemedImage' import useBaseUrl from '@docusaurus/useBaseUrl' -Use the PagerDuty integration to notify on-call responders when an alert is triggered in Device42. PagerDuty allows you to set up escalation profiles to ensure a response to critical IT events if the designated on-call staff do not respond in time. +The PagerDuty integration notifies on-call responders when an alert is triggered in Device42. PagerDuty lets you set up escalation profiles to ensure a response to critical IT events if the designated on-call staff do not respond in time. -Connect your Device42 CMDB using the Device42 integration in PagerDuty, then configure an alert in Device42 to log an incident in PagerDuty when a violating condition is met. - -This guide walks you through creating a PagerDuty Service, setting up the integration and alert in Device42, testing the integration, and uninstalling the integration in PagerDuty and Device42. +This page walks you through creating a PagerDuty Service, setting up the integration and alert in Device42, testing the integration, and uninstalling the integration. ## Alert Types @@ -63,7 +61,7 @@ When a Device42 metric falls outside of a designated range or meets a given crit ## Support -If you need help with this integration, please contact **Device42 Support** using any of our listed contact methods. +If you need help with this integration, contact **Device42 Support** using any of the following: - **Hours of Operation:** Monday-Friday, 9 am–6 pm EST - **Phone:** 1 (844) 424-2422 @@ -72,18 +70,16 @@ If you need help with this integration, please contact **Device42 Support** usin ## PagerDuty Configuration -You need a new or existing PagerDuty Service to add the Device42 integration to. - -The Device42 integration in PagerDuty will generate a key that you'll use in Device42's External Integration. +You need a new or existing PagerDuty Service to add the Device42 integration to. The Device42 integration in PagerDuty generates a key that you'll use in Device42's External Integration. ### Create a New Service with Integration To create a new service, go to **Services > Service Directory** and click the **+ New Service** button. -Follow the guided setup until you reach the [fourth **Integration** step](#select-the-device42-integration). +Follow the guided setup until you reach the [fourth **Integration** step](#select-the-device42-integration). :::tip -Please refer to PagerDuty's [Configuring Services and Integrations](https://support.pagerduty.com/docs/services-and-integrations#section-configuring-services-and-integrations) docs page for details on the service options. +Refer to PagerDuty's [Configuring Services and Integrations](https://support.pagerduty.com/docs/services-and-integrations#section-configuring-services-and-integrations) page for details on the service options. ::: ![Create a PagerDuty Service](/assets/images/pagerduty-integration/pagerduty-create-service.png) @@ -108,11 +104,11 @@ An **Integration Key** will be generated. Keep this key saved in a safe place, ## Device42 Configuration -The Device42 setup includes configuring your [Cloud Services](/integration/external-integrations/cloud-services-settings.mdx) (if you haven't already), an [External Integration](#create-an-external-integration), and an [Alert](#configure-an-alert). To ensure that the integration is working as expected, you can manually trigger the alert condition as described below under [Test the Integration](#test-the-integration). +The Device42 setup includes configuring your [Cloud Services](/integration/external-integrations/cloud-services-settings) (if you haven't already), an [External Integration](#create-the-pagerduty-external-integration), and an [Alert](#configure-an-alert). To verify that the integration is working, you can manually trigger the alert condition as described under [Test the Integration](#test-the-integration). ### Configure Cloud Services -The [Cloud Connector](/integration/external-integrations/device42-cloud-connector-overview.mdx) provides a secure and reliable way to route external integration communication. +The [Cloud Connector](/integration/external-integrations/device42-cloud-connector-overview) provides a secure and reliable way to route external integration communication. - From the Device42 Dashboard, go to **Tools > Integrations > Cloud Services** and click **Edit** at the top right of the page. - Enter your Device42 instance URL in the **D42 URL for SaaS apps** field, for example, `https://192.168.92.130/`. @@ -190,7 +186,7 @@ To test that the condition triggers the alert as expected, designate a Software }} /> -Next, manually associate (without running a discovery job) the prohibited software with a device. You can do this in multiple ways, such as by creating a new Software In Use record or a new device with the prohibited software. In this example, we'll edit an existing device to include the prohibited software: +Next, manually associate the prohibited software with a device (without running a discovery job). You can do this in multiple ways, such as by creating a new Software In Use record or a new device with the prohibited software. This example edits an existing device to include the prohibited software: - Go to **Resources > Compute > All Devices** and select a device. - Click **Edit** and scroll down to **Software In Use**. @@ -215,7 +211,7 @@ You can view incident details in PagerDuty. Remember to undo the changes you made in Device42 when testing the instance: Change the prohibited software type on the Software Component you used and remove the Software In Use entry from the device. -## How to Uninstall the Integration +## Uninstall the Integration To uninstall the integration, delete the Device42 integration in PagerDuty or disable its associated service. Then, in Device42, delete the External Integration. @@ -224,7 +220,7 @@ To uninstall the integration, delete the Device42 integration in PagerDuty or di In PagerDuty, navigate to **Services > Service Directory** and click on the service with the Device42 integration: - Go to the **Integrations** tab and click the black **gear icon**. -- Select **Delete Integration** +- Select **Delete Integration**. - Confirm the deletion when prompted. ![Delete Device42 integration](/assets/images/pagerduty-integration/pagerduty-delete-integration.png) From 634230983e00cda4e3f1ac213910ea411902e202 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 15:49:25 +0200 Subject: [PATCH 31/41] 1252: language-improvements; powerbi-integration --- .../powerbi-integration.mdx | 51 ++++++++++--------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/docs/integration/external-integrations/powerbi-integration.mdx b/docs/integration/external-integrations/powerbi-integration.mdx index 490bad286..72836c265 100644 --- a/docs/integration/external-integrations/powerbi-integration.mdx +++ b/docs/integration/external-integrations/powerbi-integration.mdx @@ -3,59 +3,62 @@ title: "PowerBI Integration" sidebar_position: 24 --- -Device42 integrates with Microsoft PowerBI using the [Device42 ODBC driver package \[click to download\]](https://www.device42.com/miscellaneous-tools/), currently available for Microsoft Windows. With the Microsoft PowerBI / ODBC integration, users to connect to Device42 and pull data via an ODBC \[Open Database Connectivity\] data source presented by the driver. +Device42 integrates with Microsoft PowerBI using the Device42 ODBC driver, currently available for Microsoft Windows. The integration lets you connect to Device42 and pull data via an ODBC (Open Database Connectivity) data source. -The current ODBC driver installs on Microsoft Windows, and we provide instructions to leverage the ODBC connectivity through PowerBI below. _If you're looking to use the Device42 ODBC driver with an ODBC-compatible consumer other than PowerBI, you should be able to do that as well. See the Device42 [ODBC driver documentation page here](integration/external-integrations/odbc-driver-integration.mdx) to obtain the driver and for more information._ +This page covers how to download the ODBC driver, connect PowerBI to the Device42 ODBC data source, and optionally create a DSN. If you want to use the Device42 ODBC driver with an ODBC-compatible client other than PowerBI, see the [ODBC Driver Integration](/integration/external-integrations/odbc-driver-integration) page. -## Obtain the Device42 PowerBI ODBC Driver +## Download the Device42 PowerBI ODBC Driver -Download the Device42 ODBC Driver at [https://www.device42.com/integrations/powerbi/](https://www.device42.com/integrations/powerbi/). +Download the Device42 ODBC driver from [https://www.device42.com/integrations/powerbi/](https://www.device42.com/integrations/powerbi/). -## Connect PowerBI to the Device42 ODBC Datasource +## Connect PowerBI to the Device42 ODBC Data Source -To connect PowerBI to the Device42 ODBC datasource, follow the instructions below. _Note that this section assumes you have completed the D42 ODBC driver installation and otherwise meet all of the requirements listed in the "ODBC System Requirements" section on this page._ +The following steps assume you have completed the Device42 ODBC driver installation and meet all the requirements listed in the ODBC System Requirements section of the [ODBC Driver Integration](/integration/external-integrations/odbc-driver-integration) page. -1. Begin by launching the PowerBI software, and clicking the "Get Data" icon in the upper left hand corner: +1. Launch PowerBI and click **Get Data** in the upper left corner: ![PowerBI Get Data button](/assets/images/powerBI-get-data.png) -2. In the "Search" field, enter `ODBC` to narrow down the listed data source options (1). Highlight ODBC (2), and click "Connect"(3): +2. In the **Search** field, enter `ODBC` to filter the data source options. Select **ODBC** and click **Connect**: ![PowerBI search for and choose ODBC](/assets/images/PowerBI_search_ODBC.png) -3. To connect using a DSN, see the _“Creating a DSN” section below_ to learn how to create a DSN which will show in this list; otherwise, continue by simply supplying a connection string manually by **expanding the "Advanced Options"** section by clicking on it: +3. To connect using a DSN, see [Create a DSN](#create-a-dsn) below. Otherwise, expand **Advanced Options** to enter a connection string manually: -![Expand advanced options ](/assets/images/expand_advanced_options.png) +![Expand advanced options](/assets/images/expand_advanced_options.png) -4. In the connection string field, enter the string as follows: `DRIVER={Device42 ODBC Driver};SERVER=YOUR-D42-SERVER.COM;`. Leave the SQL Statement (optional) section blank, and click OK: +4. In the connection string field, enter: `DRIVER={Device42 ODBC Driver};SERVER=YOUR-D42-SERVER.COM;`. Leave the **SQL Statement (optional)** field blank and click **OK**: ![Advanced connection options](/assets/images/powerBI_advanced_options.png) -5. Enter the **User Name** and **Password** that were provided to you, and the click the **Connect** button. Setup is complete! +5. Enter your **User Name** and **Password**, then click **Connect**. ## Create a DSN -1. To create / pre-define a DSN (Data Source Name), open the Windows ODBC Data Source Administrator via the Windows Start Menu. Windows 10: click **_Start -> Windows Administrative Tools -> ODBC Data Sources (64-bit)_**; \[note there is also a 32-bit version, which you can ignore\]. Windows 7: Click **_Start -> All Programs -> Administrative Tools -> Data Sources (ODBC)_**: +To create or pre-define a DSN (Data Source Name), open the Windows ODBC Data Source Administrator: + +- **Windows 10:** Click **Start > Windows Administrative Tools > ODBC Data Sources (64-bit)**. +- **Windows 7:** Click **Start > All Programs > Administrative Tools > Data Sources (ODBC)**. ![ODBC Datasource Admin](/assets/images/ODBC_Datasource_Administrator.png) -2. Click the **Add** button to begin adding a new datasource. In the "Create New Data Source" window that is displayed, choose the "Device42 ODBC Driver" and click "Finish": +1. Click **Add** to begin adding a new data source. In the **Create New Data Source** window, choose **Device42 ODBC Driver** and click **Finish**: ![Add Device42 ODBC Driver DSN](/assets/images/add_device42_ODBC_driver_source.png) -3. On the "Device42 ODBC Driver DSN Configuration" screen that is displayed, enter values as explained below: +2. On the **Device42 ODBC Driver DSN Configuration** screen, enter values as described below: ![Device42 DSN configuration](/assets/images/DSN_Configuration_Screen.png) -- **DSN Name**: The name to identify this DSN. -- **Server Host**: The host name of the Device42 server. -- **Port**: The port number that the Device42 server is servicing requests on. The default value is the standard SSL port of 443. If you leave this field blank, it will also default to 443. -- **Username**: The username you use to login to Device42. -- **Password**: The password you use to login to Device42. +- **DSN Name:** The name to identify this DSN. +- **Server Host:** The host name of the Device42 server. +- **Port:** The port number that the Device42 server uses for requests. The default is the standard SSL port `443`. If you leave this field blank, it also defaults to `443`. +- **Username:** The username you use to log in to Device42. +- **Password:** The password you use to log in to Device42. -4. Click the “Test” button to try connecting using the information you specified. You will receive a message if the connection could or could not be made. If the connection could not be made, verify that the information you entered is correct. -5. Click the “Save” button to save the changes you made to the DSN. Your changes will only be saved if the information entered results in a successful connection. If the connection could not be made, verify that the information you entered is correct. +3. Click **Test** to try connecting. You will receive a message indicating whether the connection succeeded. If it did not, verify the information you entered. +4. Click **Save** to save the DSN. Changes are only saved if the connection is successful. -Setup of the Device42 ODBC DSN is complete. You should now be able to utilize the pre-configured DSN throughout PowerBI. +The Device42 ODBC DSN is now configured and available for use in PowerBI. -_Should you have any questions about the Device42 ODBC driver that aren't answered here, please open a ticket at [https://support.device42.com](https://support.device42.com) or email support@device42.com._ +For questions about the Device42 ODBC driver not answered here, open a ticket at [support.device42.com](https://support.device42.com) or email support@device42.com. From 469f365679ed1538d5a83fca3fc15e12651f7d23 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 15:53:08 +0200 Subject: [PATCH 32/41] 1252: language-improvements; collect-node-data-from-device42-for-rundeck --- ...ct-node-data-from-device42-for-rundeck.mdx | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/docs/integration/external-integrations/collect-node-data-from-device42-for-rundeck.mdx b/docs/integration/external-integrations/collect-node-data-from-device42-for-rundeck.mdx index 685be6930..de2642921 100644 --- a/docs/integration/external-integrations/collect-node-data-from-device42-for-rundeck.mdx +++ b/docs/integration/external-integrations/collect-node-data-from-device42-for-rundeck.mdx @@ -3,38 +3,40 @@ title: "Rundeck Node Data Integration" sidebar_position: 25 --- -Device42 offers a Rundeck integration plugin that can dynamically pull node data from Device42's CMDB. +The Device42 Rundeck integration plugin dynamically pulls node data from Device42 into Rundeck, keeping your node inventory up to date for job execution. This page covers how to install and configure the plugin, use filters, and work with Device42 nodes in Rundeck. -## Installation +## Install the Plugin -To install the Rundeck plugin, Device42 offers a precompiled jar file available at [Device42's Rundeck Integration Page](https://www.device42.com/integrations/rundeck/). Alternatively, you can clone the repository from [Device42's Github page](https://github.com/device42) and build the plugin using Gradle. After downloading or compiling the plugin, it should be placed in Rundeck's plugin folder. On Ubuntu the default location for this is /etc/rundeck/libext. +Download a precompiled JAR file from the [Device42 Rundeck Integration page](https://www.device42.com/integrations/rundeck/), or clone the repository from [Device42's GitHub page](https://github.com/device42) and build the plugin using Gradle. -- Note, Java 1.8+ is required. +After downloading or compiling the plugin, place it in Rundeck's plugin folder. On Ubuntu, the default location is `/etc/rundeck/libext`. -## Configuration +Note: Java 1.8 or later is required. -To set up filters, add a new Rundeck resource to the project you are on through Configuration and select “Devices from D42”. Enter your Device42 url and credentials, and then you can enter filter values. +## Configure the Plugin + +To set up filters, add a new Rundeck resource to your project through **Configuration** and select **Devices from D42**. Enter your Device42 URL and credentials, then enter your filter values. ![Plugin configuration](/assets/images/rundeck-config-2.gif) ## Use Filters -We’ve included some common filters: tags, os, service\_level, and customer, but you can also enter any Device42 API endpoint as a filter including custom fields. For a full list please visit [Device42 API Page](https://api.device42.com/#devices). +The plugin includes common predefined filters: `tags`, `os`, `service_level`, and `customer`. You can also enter any Device42 API endpoint as a filter, including custom fields. For a full list, see the [Device42 API documentation](https://api.device42.com/#devices). -![Predefined filters](/assets/images/rundeck-filters.gif) _Using predefined filters in Rundeck_ +![Predefined filters](/assets/images/rundeck-filters.gif) -If you would like to query nodes from Device42 based on any other information available from Device42's API, including custom fields, you can use the Filter Params section to enter those fields. +To query nodes based on any other information available from the Device42 API, including custom fields, use the **Filter Params** section. -![custom filter parameters](/assets/images/rundeck-filter-params.gif) _Configuring custom filter parameters based on Device42 API endpoints_ +![Custom filter parameters](/assets/images/rundeck-filter-params.gif) ## Work with Device42 Nodes in Rundeck -After adding the filters, you will now be able to see which nodes Rundeck is pulling into Device42 by selecting the “Nodes” option in Rundeck. +After adding your filters, select **Nodes** in Rundeck to see which nodes are being pulled from Device42. ![Viewing Nodes](/assets/images/rundeck-nodes.gif) -By drilling down to one of the nodes we could also see the synchronized information about node data including building, room and rack information about a device, operating system information, device type, and other information when applicable such as a virtual machine’s host. +Drilling down into a node shows synchronized details including building, room, rack, operating system, device type, and — where applicable — virtual machine host information. ![Viewing Device42 details](/assets/images/rundeck-d42-details.gif) -Now when creating Rundeck jobs you no longer have to worry about tracking down your node data to make sure you run it on the proper systems. Device42 will keep your data up-to-date, eliminating one more hurdle form your devops workflow. Furthermore, if you do not set a cache value, scheduled jobs will refresh the list of nodes to run on at the time they run making sure you have the most up-to-date list of nodes. If you wish to use smart filters for the specific jobs feel free to use the default filtering mechanizm of the Rundesk - all collected Device42 attributes are stored as Node properties, tags or attributes. +When creating Rundeck jobs, Device42 keeps your node data current so you always run jobs on the correct systems. If you do not set a cache value, scheduled jobs refresh the node list at runtime. All collected Device42 attributes are stored as node properties, tags, or attributes, so you can use Rundeck's built-in filtering for specific jobs. From 784ffa1d4011a5bf12e5f858f096b1c826082cb2 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 16:03:19 +0200 Subject: [PATCH 33/41] 1252: language-improvements; puppet-and-chef-integrations --- .../puppet-and-chef-integrations.mdx | 91 ++++++++++--------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/docs/integration/external-integrations/puppet-and-chef-integrations.mdx b/docs/integration/external-integrations/puppet-and-chef-integrations.mdx index 3b55c7f12..978ae3e27 100644 --- a/docs/integration/external-integrations/puppet-and-chef-integrations.mdx +++ b/docs/integration/external-integrations/puppet-and-chef-integrations.mdx @@ -3,33 +3,45 @@ title: "Puppet and Chef Integrations" sidebar_position: 25 --- -Puppet is a free configuration management utility created by Puppet Labs that helps sysadmins automate configuration and management of machines and the software running on them throughout the enterprise IT infrastructure. +Device42 integrates with both Puppet and Chef to synchronize discovered system data into Device42's asset inventory, eliminating the need to run redundant discovery processes across your IT infrastructure. This page covers the Chef integration briefly and the Puppet ENC integration in detail. -Device42’s integration connector for Puppet allows Device42 software to utilize discovered system information data stored in “puppet manifests” to populate the Device42 asset inventory, eliminating the need to run redundant auto-discovery processes across the IT infrastructure. +## Chef Integration + +Device42 provides an integration connector for Chef, which streamlines provisioning, configuring, and maintaining servers. The connector uses Chef-discovered system information to populate the Device42 asset inventory and works with all Chef-supported versions. + +For the sync script, see [github.com/device42/chef_to_device42_sync_py](https://github.com/device42/chef_to_device42_sync_py). + +## Puppet Integration + +Puppet is a configuration management tool that helps system administrators automate the configuration and management of machines and software across enterprise IT infrastructure. The Device42 connector for Puppet uses system information stored in Puppet manifests to populate the Device42 asset inventory. ## Puppet ENC (External Node Classifier) Integration -External Node Classifiers can accept the name of a node as input, and return the class hierarchy for that node as output. Device42 can be utilized as a Puppet ENC, allowing easy management of Puppet classes right from Device42. As opposed to managing node definitions in the main site manifest (site.pp) on your Puppet master. +External Node Classifiers accept the name of a node as input and return the class hierarchy for that node as output. Device42 can act as a Puppet ENC, allowing you to manage Puppet classes directly from Device42 instead of managing node definitions in the main site manifest (`site.pp`) on your Puppet master. -An ENC Script pipes data between your Puppet Master and an ENC source -- Device42, in this case. +An ENC script pipes data between your Puppet master and an ENC source — Device42, in this case. **Requirements:** -- Puppet v4.8+ -- Puppet Server v2.7.2+ -- Python v2.7.10+Getting the Device42 - Puppet ENC Integration up and running is a four step process. - 1. Create a JSON custom field in Device42 (named whatever you like) - 2. Fill the custom field you created in step #1 with your desired enviornment, in JSON. - 3. Download and configure the Device42-Puppet ENC [Integration Script](https://github.com/device42/d42-puppet-enc/). - 4. Configure your Puppet Master to use Device42 as an ENC. +- Puppet v4.8 or later +- Puppet Server v2.7.2 or later +- Python v2.7.10 or later -**Setting up the Puppet ENC Integration Details:** +Setting up the Puppet ENC integration is a five-step process: -1. Navigate to **Tools -> Custom -> Devices** Fields in Device42, and click “Add Device Custom Field”. Choose "Type" JSON, and for demonstration purposes, we’ll call the field `node_classes`. +1. Create a JSON custom field in Device42. +2. Populate the custom field with your desired environment in JSON. +3. Download and configure the [Device42 Puppet ENC integration script](https://github.com/device42/d42-puppet-enc/). +4. Configure your Puppet master to use Device42 as an ENC. +5. Restart your Puppet server services. + +### Set Up the Puppet ENC Integration + +**Step 1:** Navigate to **Tools > Custom > Devices Fields** in Device42 and click **Add Device Custom Field**. Set the **Type** to **JSON**. For this example, name the field `node_classes`. ![Add Device42 Custom Field](/assets/images/Puppet_ENC_add_custom_field.png) -1a. Populate the `node_classes` field (with a placeholder) in Device42 on your target Puppet Node's CI (puppet.device42.pvt, in our case) by setting one of your device’s `node_classes` field to the following: +**Step 2:** On your target Puppet node's CI (for example, `puppet.device42.pvt`), set the `node_classes` field to the following placeholder value:
Click to expand the code block @@ -47,19 +59,19 @@ An ENC Script pipes data between your Puppet Master and an ENC source -- Device4 ![Device42 Custom Field JSON](/assets/images/Puppet_ENC_custom_field_JSON.png) -1. Grab the script, and set it up: - 1. Clone the `d42-puppet-enc` repository onto your Puppet master - 2. Set it as executable permissions (`chmod +x {filename}`). - 3. If you don't have all the requirements in requirements.txt installed, install with: `pip install -r requirements.txt` - 4. Configure the settings.yaml file. It requires: - - - The IP address of your D42 appliance. - - The Username + Password for your D42 appliance for authentication. - - The name of the custom field we created earlier `node_classes`. - +**Step 3:** Set up the integration script: + +1. Clone the `d42-puppet-enc` repository onto your Puppet master. +2. Set executable permissions: `chmod +x {filename}`. +3. If you don't have the required dependencies installed, run: `pip install -r requirements.txt` +4. Configure the `settings.yaml` file with the following: + - The IP address of your Device42 appliance. + - The username and password for your Device42 appliance. + - The name of the custom field created in Step 1 (`node_classes`). + ![Puppet ENC settings.yaml](/assets/images/Puppet_ENC_settings.yaml.png) -2. Designate your Puppet master as the ENC authority by editing your puppet.conf (`/etc/puppetlabs/puppet/puppet.conf`). Add these two configuration lines, specifying the location of `d42_enc_fetcher.py`: +**Step 4:** Designate your Puppet master as the ENC authority by editing `puppet.conf` (`/etc/puppetlabs/puppet/puppet.conf`). Add the following two lines, specifying the location of `d42_enc_fetcher.py`: ``` [master] @@ -67,35 +79,24 @@ An ENC Script pipes data between your Puppet Master and an ENC source -- Device4 external_nodes = /etc/puppetlabs/puppet/d42-puppet-enc/d42_enc_fetcher.py ``` +**Step 5:** Restart your Puppet server services. The integration is now active. -Once that's set, restart your Puppet server Services, and you're all set. Now, just create a class, and you're in business! +## Additional IT Infrastructure Capabilities -## Chef Integration - -Device42 also provides an integration connector for Chef software — used to streamline the task of provisioning, configuring, and maintaining servers. - -The Device42 – Chef integration allows Device42 software to utilize Chef-discovered system information data to populate the Device42 asset inventory, eliminating the need to run redundant auto-discovery processes. - -The Device42 integration connector works with all Chef-supported versions of Chef software. - -## Device42’s Additional IT Infrastructure Capabilities - -Integrating Puppet or Chef with Device42, also ensures that Device42 remains aligned with the Chef or Puppet device data ensuring consistency and uniformity between Device42 and either application across all of Device42’s broad IT infrastructure management capabilities: +Integrating Puppet or Chef with Device42 ensures that Device42 stays aligned with your Puppet or Chef device data, maintaining consistency across Device42's IT infrastructure management capabilities: - IP address management -- Cabling management +- Cabling management - Password management - Server room, rack, and device visualizations - Software license management - Power and environmental monitoring - Power control -- Integration Connectors Information - -## Puppet and Chef Integrations - -**Puppet:** The script to sync Puppet nodes information to Device42 can be found here: [github.com/device42/puppet_to_device42_sync_py](https://github.com/device42/puppet_to_device42_sync_py) -**Puppet ENC:** The script to use Device42 as a Puppet External Node Classifier: [github.com/device42/d42-puppet-enc](https://github.com/device42/d42-puppet-enc) +## Integration Scripts -**Chef:** The script to sync Chef nodes information to Device42 can be found here: [github.com/device42/chef_to_device42_sync_py](https://github.com/device42/chef_to_device42_sync_py) +The following GitHub repositories contain the scripts for syncing data between Device42 and Puppet or Chef: +- **Puppet:** [github.com/device42/puppet_to_device42_sync_py](https://github.com/device42/puppet_to_device42_sync_py) — sync Puppet node information to Device42 +- **Puppet ENC:** [github.com/device42/d42-puppet-enc](https://github.com/device42/d42-puppet-enc) — use Device42 as a Puppet External Node Classifier +- **Chef:** [github.com/device42/chef_to_device42_sync_py](https://github.com/device42/chef_to_device42_sync_py) — sync Chef node information to Device42 From bd36a6fd8dc8a633e93a6eb647b3257578d14a66 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 16:13:32 +0200 Subject: [PATCH 34/41] 1252: language-improvements; device42-saltstack-integration --- .../device42-saltstack-integration.mdx | 126 +++++------------- 1 file changed, 37 insertions(+), 89 deletions(-) diff --git a/docs/integration/external-integrations/device42-saltstack-integration.mdx b/docs/integration/external-integrations/device42-saltstack-integration.mdx index 78eaf9222..dfafe7d70 100644 --- a/docs/integration/external-integrations/device42-saltstack-integration.mdx +++ b/docs/integration/external-integrations/device42-saltstack-integration.mdx @@ -3,94 +3,42 @@ title: "SaltStack Integration" sidebar_position: 27 --- -Salt (aka SaltStack) is a Python-based open source configuration management software and remote execution engine. Salt supports the Software-Defined Datacenter, allowing configuration of your Infrastructure as Code (IaC). With the Device42 Salt Integration, you can now gather information about your devices from the same tool you use to provision them. The Device42-Salt Integration can gather the following from Salt: +Salt (also known as SaltStack) is a Python-based open source configuration management tool and remote execution engine that supports Infrastructure as Code (IaC). The Device42 Salt integration lets you gather information about your devices from the same tool you use to provision them. + +The integration collects the following data from Salt: - Name -- Node Type -- CPU Power +- Node type +- CPU power - Customer -- Virtual or Physical -- Virtual Sub-type -- CPU Core Count +- Virtual or physical +- Virtual sub-type +- CPU core count - Manufacturer -- Operating System & OS Version -- Total Memory -- HDD Count -- Service Level - -## Assumptions & Pre-Requisites - -Working Salt & Device42 installations. Tested against Salt Master 2016.11.1 Carbon To allow connections, sign your minions certificate on your Salt Master and run the script on your Salt Master server. - - -Python v2.7.x -- PyYAML - ``` - $ easy_install pyyaml or $ pip install pyyaml - ``` -- appdirs - ``` - $ easy_install appdirs or $ pip install appdirs - ``` -- futures - ``` - $ easy_install futures or $ pip install futures - ``` -- jinja2 - ``` - $ easy_install jinja2 or $ pip install jinja2 - ``` -- tornado - ``` - $ easy_install tornado or $ pip install tornado - ``` -- requests - ``` - $ easy_install requests or $ pip install requests - ``` -- salt - ``` - $ easy_install salt or $ pip install salt - ``` -- markupsafe - ``` - $ easy_install markupsafe or $ pip install markupsafe - ``` -- msgpack-python - ``` - $ easy_install msgpack-python or $ pip install msgpack-python - ``` -- packaging - ``` - $ easy_install packaging or $ pip install packaging - ``` -- pycrypto - ``` - $ easy_install pycrypto or $ pip install pycrypto - ``` -- pyparsing - ``` - $ easy_install pyparsing or $ pip install pyparsing - ``` -- pyzmq - ``` - $ easy_install pyzmq or $ pip install pyzmq - ``` -- singledispatch - ``` - $ easy_install singledispatch or $ pip install singledispatch - ``` -- six - ``` - $ easy_install six or $ pip install six - ``` - - -## Configuration and Usage - -1. Create a working directory and copy the contents of the `salt_to_device42_sync` repository to it. -2. Copy (or move/rename) the settings file settings.yaml.example to `settings.yaml`. -3. Populate the `settings.yaml` file you created in the last step with your Device42 instance info (host, user, pss): +- Operating system and OS version +- Total memory +- HDD count +- Service level + +## Prerequisites + +The following are required before setting up the integration: + +- Working Salt and Device42 installations. Tested against Salt Master 2016.11.1 Carbon. +- To allow connections, sign your minion certificates on your Salt Master and run the script on your Salt Master server. +- Python v2.7.x + +Install the required Python dependencies: + +``` +pip install PyYAML appdirs futures jinja2 tornado requests salt markupsafe msgpack-python packaging pycrypto pyparsing pyzmq singledispatch six +``` + +## Configure and Use the Integration + +1. Create a working directory and copy the contents of the `salt_to_device42_sync` repository into it. +2. Copy `settings.yaml.example` to `settings.yaml`. +3. Populate `settings.yaml` with your Device42 instance details (`host`, `user`, `pass`):
Click to expand the code block @@ -115,11 +63,11 @@ Python v2.7.x ```
-Consult `README.md` and `requirements.txt` for more details +Consult `README.md` and `requirements.txt` for more details. -1. Configure node filtering, if desired. Details regarding configuration options can be found in `NodeFilter.md`. Filter settings are added following the `Options:` section of `settings.yaml`. -2. Run the script: `$ python saltexplore.py` (`-c /path/to/settings.yaml`) +4. Configure node filtering if desired. Configuration options are documented in `NodeFilter.md`. Add filter settings after the `Options:` section of `settings.yaml`. +5. Run the script: `python saltexplore.py` (optionally with `-c /path/to/settings.yaml`) -If you run into any unexpected behavior, bugs, or otherwise have questions, comments, or feature requests, feel free to reach out to support@device42.com. +For questions, bug reports, or feature requests, contact [support@device42.com](mailto:support@device42.com). -**Download the Salt integration script for Device42 today!** +To download the Salt integration script, visit the [Device42 GitHub page](https://github.com/device42). From ee2ad2fb6147cb35d39857ddac61039540deeca2 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 16:24:19 +0200 Subject: [PATCH 35/41] 1252: language-improvements; device42-servicenow-connector --- .../device42-servicenow-connector.mdx | 288 +++++++++--------- 1 file changed, 137 insertions(+), 151 deletions(-) diff --git a/docs/integration/external-integrations/device42-servicenow-connector.mdx b/docs/integration/external-integrations/device42-servicenow-connector.mdx index 15f449b47..dac22a0aa 100644 --- a/docs/integration/external-integrations/device42-servicenow-connector.mdx +++ b/docs/integration/external-integrations/device42-servicenow-connector.mdx @@ -3,34 +3,32 @@ title: "ServiceNow Integration" sidebar_position: 28 --- -Use the Device42-ServiceNow connector (plugin) to sync your IT data from Device42 to your ServiceNow CMDB. Synchronization can be manual or automated on a schedule you set. - -The plugin supports the three most recent releases of ServiceNow. +The Device42 ServiceNow connector syncs your IT data from Device42 to your ServiceNow CMDB. Synchronization can be manual or automated on a schedule you set. The plugin supports the three most recent releases of ServiceNow. ![The ServiceNow logo](/assets/images/device42-servicenow-connector/servicenow-logo-50.png) ## Prerequisites -- In Device42, configure your Cloud Connector and add **ServiceNow** as an External Integration. See the [Main Appliance Configuration](#device42-main-appliance-configuration) section below for details. - -- From your ServiceNow instance, install the **Configuration Management For Scoped Apps (CMDB)** plugin as a dependency. +Before installing the plugin, complete the following: - ![Configuration Management For Scoped Apps](/assets/images/device42-servicenow-connector/scoped-apps-plugin.png) +- In Device42, configure your Cloud Connector and add **ServiceNow** as an External Integration. See [Main Appliance Configuration](#main-appliance-configuration) below for details. +- From your ServiceNow instance, install the **Configuration Management For Scoped Apps (CMDB)** plugin as a dependency. +![Configuration Management For Scoped Apps](/assets/images/device42-servicenow-connector/scoped-apps-plugin.png) ## Install the Plugin 1. Find and install the Device42 plugin from either the ServiceNow Store or via the **Plugin** section of your ServiceNow instance: - - Visit [this ServiceNow Store link](https://store.servicenow.com/sn_appstore_store.do#!/store/application/42597533db201300a189622dca961964/4.2.0?sl=sh) and click **Get** to install the plugin on your ServiceNow instance. + Visit the [ServiceNow Store](https://store.servicenow.com/sn_appstore_store.do#!/store/application/42597533db201300a189622dca961964/4.2.0?sl=sh) and click **Get** to install the plugin on your ServiceNow instance. - ![The Device42 plugin in the ServiceNow store](/assets/images/device42-servicenow-connector/servicenow-store.png) + ![The Device42 plugin in the ServiceNow store](/assets/images/device42-servicenow-connector/servicenow-store.png) - - Alternatively, from your ServiceNow instance, search for "plugin" under **All** to navigate to the plugins page, and from there, search for "Device42". + Alternatively, from your ServiceNow instance, search for "plugin" under **All** to navigate to the plugins page, then search for "Device42". - ![ServiceNow search bar](/assets/images/device42-servicenow-connector/search-plugin-snow.png) + ![ServiceNow search bar](/assets/images/device42-servicenow-connector/search-plugin-snow.png) -2. To verify that the discovery source of “Device42” was created, navigate to **System Definition > Scripts – Background** (search for it under **All**) and paste in the following script. Leave **in scope** as **global**. +2. To verify that the discovery source "Device42" was created, navigate to **System Definition > Scripts – Background** (search for it under **All**) and paste in the following script. Leave **in scope** set to **global**.
Click to expand the code block @@ -52,7 +50,7 @@ The plugin supports the three most recent releases of ServiceNow. ![The JS script in ServiceNow](/assets/images/device42-servicenow-connector/the-script1.png) -3. If not found "Device42", add **Device42** to the data source choice list. Navigate to **System Definition > Scripts – Background** (search for it under **All**) and paste in the following script. Leave **in scope** as **global**. +3. If "Device42" is not found, add it to the data source choice list. Navigate to **System Definition > Scripts – Background** and paste in the following script. Leave **in scope** set to **global**.
Click to expand the code block @@ -90,130 +88,127 @@ From ServiceNow, the URI endpoints look something like this: sn/route_doql_csv/{DOQL Name} ``` -- Direct Connection Configuration (3.0.0+ only) +- Direct Connection Configuration (3.0.0 and later only): ``` /services/data/v1.0/query/?saved_query_name={DOQL Name}&delimiter=,&header=yes&output_type=csv ``` - -The general request flow is laid out in the sections below. +The general request flow is described in the sections below. ### Cloud Connector Configuration -1. When a request is made to the Cloud Connector, the Cloud Connector finds the appropriate account by matching verification tokens. That account's `appliance_guid` and `am_guid` are then used by the WebSocket server to route the request to the appropriate client. -2. The verification token is then validated on the Device42 instance to ensure that the Cloud Connector has appropriate access to the utilized resources. If the integration is configured for direct connections only, the request is rejected. Otherwise, the request is processed. -3. The Cloud Connector then runs the appropriate DOQL query against the proper Device42 instance on behalf of the requesting ServiceNow instance and returns the query results to ServiceNow for processing by the data source transformation maps. +1. When a request is made to the Cloud Connector, it finds the appropriate account by matching verification tokens. That account's `appliance_guid` and `am_guid` are then used by the WebSocket server to route the request to the appropriate client. +2. The verification token is validated on the Device42 instance to ensure that the Cloud Connector has appropriate access to the requested resources. If the integration is configured for direct connections only, the request is rejected. Otherwise, the request is processed. +3. The Cloud Connector runs the appropriate DOQL query against the proper Device42 instance on behalf of the requesting ServiceNow instance and returns the results to ServiceNow for processing by the data source transformation maps. ### Direct Connection Configuration -1. When a request is made directly to the Device42 appliance, Device42 searches for a configured integration with a matching verification token. The request goes through a verification procedure to ensure that the request is valid and that the integration can make a direct connection to the Device42 appliance. If it fails, the request is rejected. Otherwise, the request is processed. -2. The Device42 instance then runs the appropriate DOQL query, then returns the query results to ServiceNow for processing by the data source transformation maps. +1. When a request is made directly to the Device42 appliance, Device42 searches for a configured integration with a matching verification token and verifies that the integration can make a direct connection. If verification fails, the request is rejected. Otherwise, the request is processed. +2. The Device42 instance runs the appropriate DOQL query and returns the results to ServiceNow for processing by the data source transformation maps. -### Custom Device42 DOQL Datasources +### Custom Device42 DOQL Data Sources -Using Device42's stored [Device42 object query language (DOQL)](docs/reports/device42-doql/index.mdx), you can fully customize the data that your Device42 instance sends to ServiceNow. +Using Device42's [Device42 Object Query Language (DOQL)](/reports/device42-doql), you can fully customize the data sent to ServiceNow. -In Device42, navigate to **Tools > Integrations > Saved DOQL Queries** to add a new saved DOQL query and then add a new ServiceNow data source that points to that query. +In Device42, navigate to **Tools > Integrations > Saved DOQL Queries** to add a new saved DOQL query, then add a new ServiceNow data source that points to that query. -In ServiceNow, you can create and modify existing data sources and set their file paths by modifying the string discussed below to reference the name of your new Device42 saved DOQL query. +In ServiceNow, you can create and modify existing data sources and set their file paths by updating the string below to reference the name of your saved DOQL query. -**Increase Field Length:** +**Increase Field Length** -The file path field for a data source is limited to 100 characters by default. If you are unable to enter your entire file path, you can work around the character limit in two ways: -- You can assign your custom query to a system property and use it in the field with `${name_of_your_system_property}`. -- You may also increase the character limit of this field by navigating to **System Definition > Tables > sys_data_source > File Path**, increasing the maximum character length of the data source-file-path field, and updating the table. +The file path field for a data source is limited to 100 characters by default. If you cannot enter your entire file path, you can work around the character limit in two ways: -**System Property Method:** +- Assign your custom query to a system property and reference it in the field with `${name_of_your_system_property}`. +- Increase the character limit by navigating to **System Definition > Tables > sys_data_source > File Path** and updating the maximum character length. + +**System Property Method** | **Connection Type** | **Name** | **Type** | **Value** | |----------------------|------------------------------|----------|----------------------------------------------------------------------------------------------------| | **Cloud Connection** | `name_of_your_system_property` | String | `YOUR_DOQL_NAME` | | **Direct Connection**| `name_of_your_system_property` | String | `saved_query_name=YOUR_DOQL_NAME&delimiter=,&header=yes&output_type=csv` | -Don't include the `?` symbol in your system property, as ServiceNow will percent-encode it when retrieving the system property value. Instead, include the `?` symbol in the file path field itself. +Do not include the `?` symbol in your system property, as ServiceNow will percent-encode it when retrieving the value. Include the `?` in the file path field itself: ``` /services/data/v1.0/query/?${name_of_your_system_property} ``` -Cloud Connection +**Cloud Connection** -- File Path: +- File Path: ``` sn/route_doql_csv/YOUR_DOQL_NAME ``` +- Username: Any value is accepted, but this field is required. +- Password: `${x_192652_device42.instance_key}` -- Username: You may use any value here, but it is required. -- Password : `${x_192652_device42.instance_key}` - -Please note that all records will appear to be ignored, because we use the Identification and Reconciliation Engine (IRE). +:::note +All records will appear to be ignored, as the Identification and Reconciliation Engine (IRE) handles deduplication. +::: -Direct Connection +**Direct Connection** -- File path: +- File Path: ``` /services/data/v1.0/query/?saved_query_name=YOUR_DOQL_NAME&delimiter=,&header=yes&output_type=csv ``` - -- Username: You may use any value here, but it is required +- Username: Any value is accepted, but this field is required. - Password: `${x_192652_device42.instance_key}` - -To add a custom DOQL data source, head to **System Import Sets -> Administration -> Data sources** in ServiceNow: +To add a custom DOQL data source, navigate to **System Import Sets > Administration > Data Sources** in ServiceNow: ![ServiceNow add external datasource DOQL](/assets/images/ServiceNow_add_external_datasource.png) -Then go ahead and add your new data source: +Add your new data source: -![](/assets/images/SN_Dashboard_3.png) +![Add new data source](/assets/images/SN_Dashboard_3.png) -| Field | Description | -|------------------|----------------------------------------------------------------------------------------------------------------------------------------| -| Name | The name of your data source: This can be any value you choose -| Import set table | The table that you would like the data to be imported into | -| Type | Default: File | -| Format | Default: CSV | -| Server | Default: `${x_192652_device42.server}` | -| Port | Default: 443 | -| File Path | **Cloud Connector** `sn/route_doql_csv/YOUR_DOQL_QUERY_NAME` **Direct Connect** `/services/data/v1.0/query/?saved_query_name=YOUR_DOQL_QUERY_NAME` | -| Username | A username is required to send credentials with requests: This can be any value, for example, `servicenow_data_source` | -| Password | The password is the verification token of the integration you set up in Device42 | +| Field | Description | +|-------|-------------| +| Name | The name of your data source. This can be any value you choose. | +| Import set table | The table to import data into. | +| Type | Default: File | +| Format | Default: CSV | +| Server | Default: `${x_192652_device42.server}` | +| Port | Default: 443 | +| File Path | **Cloud Connector:** `sn/route_doql_csv/YOUR_DOQL_QUERY_NAME` **Direct Connect:** `/services/data/v1.0/query/?saved_query_name=YOUR_DOQL_QUERY_NAME` | +| Username | A username is required to send credentials with requests. This can be any value, for example, `servicenow_data_source`. | +| Password | The verification token of the integration you set up in Device42. | :::note -The `is_default` option, which flags Windows and *nix interfaces (most netports) as default, has been added to the `view_netport_v1` view. +The `is_default` option, which flags Windows and \*nix interfaces (most netports) as default, has been added to the `view_netport_v1` view. ::: -That's all there is to it. ServiceNow should now have access to your new data source. Should you run into any issues, email [support@device42.com](mailto:support@device42.com). +ServiceNow now has access to your new data source. For assistance, email [support@device42.com](mailto:support@device42.com). ### The Cloud Connector -The ServiceNow integration uses the Device42 Cloud Connector to facilitate communication between your ServiceNow Cloud instance and your Device42 instance without requiring that Device42 be exposed to the internet. - -The Cloud Connector uses a WebSocket connection initiated by the Device42 appliance to achieve this. +The ServiceNow integration uses the Device42 Cloud Connector to facilitate communication between your ServiceNow Cloud instance and your Device42 instance without requiring that Device42 be exposed to the internet. The Cloud Connector uses a WebSocket connection initiated by the Device42 appliance. -For a detailed rundown of the Cloud Connector communication and security architecture, see our [Cloud Connector documentation](integration/external-integrations/device42-cloud-connector-overview.mdx). +For details on the Cloud Connector communication and security architecture, see the [Cloud Connector documentation](/integration/external-integrations/device42-cloud-connector-overview). -There is also a direct connection option available on the ServiceNow integration plugin for users who would like to keep their integrations in their private networks. +A direct connection option is also available for users who prefer to keep their integrations within their private networks. ## Integration Setup and Configuration Overview -Download the Device42-ServiceNow connector from the [ServiceNow Marketplace](https://store.servicenow.com/sn_appstore_store.do#!/store/application/42597533db201300a189622dca961964/4.2.0?sl=sh). +Download the Device42 ServiceNow connector from the [ServiceNow Marketplace](https://store.servicenow.com/sn_appstore_store.do#!/store/application/42597533db201300a189622dca961964/4.2.0?sl=sh). ### Install and Configure the Integration -If you have the latest version of the ServiceNow integration plugin, you will be required to follow a few additional steps to configure the plugin and utilize ServiceNow's Identification and Reconciliation Engine (IRE). +If you have the latest version of the ServiceNow integration plugin, follow the additional steps below to configure the plugin and use ServiceNow's Identification and Reconciliation Engine (IRE). -Install needed dependencies on ServiceNow (New York only; Orlando+ has this dependency pre-installed). +Install the required dependency on ServiceNow (New York only; Orlando and later have this dependency pre-installed): 1. Navigate to **System Definition > Plugins**. 2. Search for **Configuration Management For Scoped Apps (CMDB)**. -3. Click **Install** and allow the dependency to be installed. +3. Click **Install** and allow the dependency to install. -Add Device42 as the data source choice list record (New York and Orlando+). +Add Device42 as a data source choice list record (New York and Orlando and later): 1. Navigate to **System Definition > Scripts – Background**. -2. Ensure that the script is set to run in the **global** scope. -3. Paste the following script into the text box and select **Run Script**. +2. Ensure the script is set to run in the **global** scope. +3. Paste the following script into the text box and click **Run Script**. ### Run the Script @@ -240,11 +235,11 @@ Add Device42 as the data source choice list record (New York and Orlando+). ```
-If you have completed these steps, continue with the rest of the configuration. +After completing these steps, continue with the rest of the configuration. -### Main Appliance Configuration +### Main Appliance Configuration -1. Ensure that the **External Integration Settings** section of your **Cloud Services Configuration** is correctly set. Head to the Device42 main menu, under **Tools > Cloud Services**, and enter your Device42 instance's URL or IP address in the **D42 URL for SaaS apps** field (for example, `https://myd42url.com`). Fill in your company name and email address. If you aren't based in the USA, you can change to the optional Europe-based Cloud Connector in the same section: +1. Ensure that the **External Integration Settings** section of your **Cloud Services Configuration** is correctly set. In Device42, go to **Tools > Cloud Services** and enter your Device42 instance URL or IP address in the **D42 URL for SaaS apps** field (for example, `https://myd42url.com`). Fill in your company name and email address. If you are not based in the USA, you can optionally switch to the Europe-based Cloud Connector in the same section: ![External Integration / Cloud Connector config](/assets/images/WEB-813_1.jpg) @@ -252,50 +247,43 @@ If you have completed these steps, continue with the rest of the configuration. 2. Log in to Device42 and go to **Tools > Integrations > External Integrations**. -3. Create a new External Integration, selecting **ServiceNow** from the **Type:** dropdown and setting the **URL:** as your ServiceNow URL. - - ![](/assets/images/WEB-813_3.jpg) +3. Create a new External Integration, selecting **ServiceNow** from the **Type** dropdown and setting the **URL** to your ServiceNow URL. -- Direct Connection + ![New External Integration](/assets/images/WEB-813_3.jpg) - If you have the latest version of Device42, you will see an option on the ServiceNow external integration page that displays a **Direct Connect** option. If you would like to configure the integration to use a direct connection, ensure that this option is checked. You cannot go back and change this option (you will have to delete and set up a new configuration), so confirm your settings before creating the integration. + - **Direct Connection:** If you have the latest version of Device42, the ServiceNow external integration page includes a **Direct Connect** option. Check this option to configure a direct connection. This setting cannot be changed after saving — you will need to delete and set up a new configuration if you want to change it — so confirm your settings before creating the integration. -- Cloud Connection + - **Cloud Connection:** Ensure that the **Direct Connect** option is unchecked. - Ensure that the **Direct Connect** option is unchecked. + Note the **Verification Token** — you will need to enter it in ServiceNow: -Note the **Verification Token**, which you'll need to enter in ServiceNow: + ![Select External integration to view](/assets/images/select_d42_external_integration_view.png) -![Select External integration to view](/assets/images/select_d42_external_integration_view.png) +4. Log in to your ServiceNow instance and install the Device42 integration from the [ServiceNow Store](https://store.servicenow.com/sn_appstore_store.do#!/store/application/42597533db201300a189622dca961964/4.2.0?sl=sh). -4. Log in to your ServiceNow instance and install the Device42 integration. - - [Download](https://store.servicenow.com/sn_appstore_store.do#!/store/application/42597533db201300a189622dca961964/4.2.0?sl=sh) and install the Device42-ServiceNow connector from the ServiceNow store and install it. - - ![](/assets/images/SN_Store_Download_1.png) + ![ServiceNow Store download](/assets/images/SN_Store_Download_1.png) 5. Once installed, search for and select **Device42 Settings**. - ![](/assets/images/SN_Store_Download_2.png) + ![Device42 Settings in ServiceNow](/assets/images/SN_Store_Download_2.png) - - Enable editing by clicking at the top of the settings page (See below). + - Enable editing by clicking at the top of the settings page. - Fill in the URL for the Device42 Cloud Connector (`connect.device42.net`). - - In the next field, paste the Device42 Verification Token you noted in step one, above. - - Enter your D42 URL and click **Save**. + - Paste the Device42 Verification Token from step 3. + - Enter your Device42 URL and click **Save**. -![](/assets/images/SN_Store_Download_3.png) + ![Device42 Settings form](/assets/images/SN_Store_Download_3.png) -### Scheduled Sync +### Configure a Scheduled Sync Configure the data sync schedules as appropriate for your environment. Search ServiceNow for **System Import Sets** to find the schedules page: -![](/assets/images/SN_Store_Download_4.png) +![System Import Sets schedules](/assets/images/SN_Store_Download_4.png) -The Device scheduled job is set to run at a default time which can be modified if needed. The Device scheduled job will automatically trigger the next scheduled job to run, which will then trigger the next scheduled job, and so on until all of the scheduled jobs are run. +The Device scheduled job runs at a default time, which can be modified. Each scheduled job automatically triggers the next one in sequence until all jobs have run. The order is: -The order the scheduled jobs will run is: - Device -- IP +- IP - Software - Service - Affinity Group @@ -306,25 +294,21 @@ The order the scheduled jobs will run is: - Database to Instance - Website -You can click on the Device scheduled job to change period and time. And then you can **Execute Now**. +Click the Device scheduled job to change the period and time, then click **Execute Now**. -![](/assets/images/SN_Store_Download_5.png) +![Device scheduled job](/assets/images/SN_Store_Download_5.png) -The scheduled imports first run the respective data source to collect and store data in the import set tables for a given data source. After this data has been imported into this table a transform script is run to map the data into ServiceNow's internal tables. The ServiceNow integration plugin leverages ServiceNow's IRE module. For more information on this feature, please visit ServiceNow's documentation page: +The scheduled imports first run the respective data source to collect and store data in the import set tables. After the data is imported, a transform script maps it into ServiceNow's internal tables using the IRE module. For more information, see [ServiceNow's CMDB Identification and Reconciliation documentation](https://www.servicenow.com/docs/bundle/zurich-servicenow-platform/page/product/configuration-management/concept/c_CMDBIdentifyandReconcile.html). -[https://www.servicenow.com/docs/bundle/zurich-servicenow-platform/page/product/configuration-management/concept/c_CMDBIdentifyandReconcile.html](https://www.servicenow.com/docs/bundle/zurich-servicenow-platform/page/product/configuration-management/concept/c_CMDBIdentifyandReconcile.html) +![ServiceNow import sets](/assets/images/SN_Imports_1.png) -![](/assets/images/SN_Imports_1.png) - -To view devices that have been imported or to debug any issues, please visit the import log by navigating to **System Import Sets > Import Log**. This is a very useful page utilized by the IRE and can help you track the majority of common problems +To view imported devices or debug issues, navigate to **System Import Sets > Import Log**. ### Required ServiceNow User Roles for Non-Admins -For the ServiceNow integration, there are a few user roles that need to be granted to a user to allow them to edit our Data Sources / Transform Maps. This is not required for the application to run "out of the box," but if customers want to make changes, they'll need to add the following user roles to authorized users. - -![](/assets/images/SN_User_Roles_1.png) _ServiceNow User Management Screen_ +To allow non-admin users to edit Data Sources and Transform Maps, assign the following roles: -The specific groups required (for users who _are not_ already ServiceNow admins) for full integration functionality and the ability to edit the CI transform maps and data sources are: +![ServiceNow User Management Screen](/assets/images/SN_User_Roles_1.png) - `import_set_loader` - `import_transformer` @@ -332,79 +316,81 @@ The specific groups required (for users who _are not_ already ServiceNow admins) - `import_admin` - `x_192652_device42.Device42_Admin` -A quick overview of the Device42-ServiceNow connector, screenshots, and links to the ServiceNow store can be found on our [ServiceNow integration page](https://www.device42.com/integrations/service-now/) +These roles are not required for the integration to run out of the box, but are needed if users want to make changes to the CI transform maps or data sources. -If you have any questions that weren't covered here, feel free to reach out to [support@device42.com](mailto:support@device42.com). +For an overview of the Device42 ServiceNow connector with screenshots, see the [ServiceNow integration page](https://www.device42.com/integrations/service-now/). + +For questions not covered here, contact [support@device42.com](mailto:support@device42.com). ### Increase the Field Size for Imported Device42 Data -If data coming in from Device42 is being truncated, follow the steps below in ServiceNow to increase the column length limit. These steps are to be done at the discretion of the user. Please be aware that making changes to the `sys_properties` table will affect all applications and cause the field lengths for all import sets to automatically increase in size if the data being imported is greater than the default character limit. - -To have the import set table column size automatically based on the size of the data, follow these steps in ServiceNow: - -- Search for "tables". -- Click **System Definition > Tables**. -- Find the `sys_properties table` and click on it. -- Scroll down the page and find **Related Links**. -- Click **Show List**. -- Add a new system property with the following information: - - **Name**: `com.glide.loader.verify_target_field_size` - - **Application**: `Global` - - **Type**: `true | false` - - **Value**: `true` - - **Read Roles**: Appropriate roles (for example, `admin`) - - **Write Roles**: Appropriate roles (for example, `admin`) -- Click the **Submit** button. +If data from Device42 is being truncated, follow these steps in ServiceNow to increase the column length limit. + +:::note +Changes to the `sys_properties` table affect all applications and will cause field lengths for all import sets to automatically increase if imported data exceeds the default character limit. +::: + +To have the import set table column size adjust automatically based on the size of incoming data: + +- Search for "tables" and click **System Definition > Tables**. +- Find the `sys_properties` table and click on it. +- Scroll to **Related Links** and click **Show List**. +- Add a new system property with the following values: + - **Name:** `com.glide.loader.verify_target_field_size` + - **Application:** `Global` + - **Type:** `true | false` + - **Value:** `true` + - **Read Roles:** Appropriate roles (for example, `admin`) + - **Write Roles:** Appropriate roles (for example, `admin`) +- Click **Submit**. - Run the **D42 Device Import Schedule** scheduled job to sync device data from Device42 to ServiceNow. The data should now appear in ServiceNow without truncation. ## Update the Integration -If you updated the ServiceNow app from version 4.0.0 or older, you should run a script to delete old software instance records that were created by the app and are no longer needed. The `cmdb_software_instance` records that should be deleted will have a name that has the format `software_name_instance`. To delete these records, follow the steps below. +If you updated the ServiceNow app from version 4.0.0 or earlier, run a script to delete old software instance records that are no longer needed. The `cmdb_software_instance` records to delete have names in the format `software_name_instance`. - Go to **System Definition > Fix Scripts**. - - ![](/assets/images/Web-780-1_fix-scripts.png) -- Search for the fix script with the name `D42_Remove_Software_Instances`. + ![Fix Scripts](/assets/images/Web-780-1_fix-scripts.png) + +- Search for the fix script named `D42_Remove_Software_Instances`. - ![](/assets/images/Web-780-2_remove-software-instances.png) + ![D42_Remove_Software_Instances script](/assets/images/Web-780-2_remove-software-instances.png) -- Click **`D42_Remove_Software_Instances`**. +- Click **`D42_Remove_Software_Instances`**. - ![](/assets/images/Web-780_paste-script-3.png) + ![Script detail view](/assets/images/Web-780_paste-script-3.png) -- Copy all lines from the script field except the first line, which has `/*`, and the last line, which has `*/`. +- Copy all lines from the script field except the first line (`/*`) and the last line (`*/`). - ![](/assets/images/Web-780-3_.copy-script-1.png) + ![Copy script lines](/assets/images/Web-780-3_.copy-script-1.png) - Go to **System Definition > Scripts – Background**. - ![](/assets/images/Web-780_paste-script-1.png) + ![Scripts – Background](/assets/images/Web-780_paste-script-1.png) -- Paste the script that you copied into the **Run script** field. +- Paste the copied script into the **Run script** field. - ![](/assets/images/Web-780_paste-script-2.png) + ![Paste script](/assets/images/Web-780_paste-script-2.png) -- Select **global** for **in scope**. - -- Click the **Run Script** button. - - ![](/assets/images/Web-780_running-script-last-pic.png) +- Set **in scope** to **global**, then click **Run Script**. + + ![Run Script](/assets/images/Web-780_running-script-last-pic.png) ## Add the Relationship -Check if the relationship exists and if it does not add it. +Check if the relationship exists and, if not, add it. -- Go to **Configuration > Relation Type Exclusion List** - - ![](/assets/images/device42-servicenow-connector/relation-list.png) +- Go to **Configuration > Relation Type Exclusion List**. + + ![Relation Type Exclusion List](/assets/images/device42-servicenow-connector/relation-list.png) -- Click **New** to add the Relation +- Click **New** to add the relation. - ![](/assets/images/device42-servicenow-connector/relation-add.png) + ![Add relation](/assets/images/device42-servicenow-connector/relation-add.png) ## Technical Support -Please contact our [support team](mailto:support@device42.com) for technical assistance. We're working on improving and updating this documentation and you can leave feedback by using the **Page Feedback** button at the top of this page. \ No newline at end of file +Contact [support@device42.com](mailto:support@device42.com) for technical assistance. You can leave feedback using the **Page Feedback** button at the top of this page. From 0d5fdb704626b4ffc2f4d819da7a6062108740b7 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 16:29:10 +0200 Subject: [PATCH 36/41] 1252: language-improvements; webhooks-generic-integration --- .../webhooks-generic-integration.mdx | 61 +++++++++---------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/docs/integration/external-integrations/webhooks-generic-integration.mdx b/docs/integration/external-integrations/webhooks-generic-integration.mdx index e3b72f5d1..5041ac3cf 100644 --- a/docs/integration/external-integrations/webhooks-generic-integration.mdx +++ b/docs/integration/external-integrations/webhooks-generic-integration.mdx @@ -3,45 +3,44 @@ title: "Webhooks - Generic Integration" sidebar_position: 28 --- -Webhooks are used to initiate an external action in another part of your IT environment when some "event", based on rules you define, occurs. Also known as _HTTP callbacks_, webhooks are "fired" at HTTP endpoints (URLs) when a configured "Webhook Action" criteria is met. Within Device42, anything that produces an audit-log entry can also be configured to "fire" a webhook. +Webhooks initiate an external action in another part of your IT environment when an event, based on rules you define, occurs. Also known as HTTP callbacks, webhooks are sent to HTTP endpoints (URLs) when a configured Webhook Action criteria is met. Within Device42, anything that produces an audit-log entry can be configured to fire a webhook. -For example, when a Device42 auto-discovery job finds a new device, when details about an existing device change, or when an existing device is deleted are three simple examples of actions that can be configured to trigger webhooks from Device42. An IT Administrator might configure a webhook to deliver a "message" to one or more IT employees via a webhook-compatible endpoint _(like Slack or Skype)_, letting them know that this action took place. +For example, you can configure webhooks to trigger when a Device42 discovery job finds a new device, when details about an existing device change, or when a device is deleted. An IT administrator might configure a webhook to deliver a message to one or more IT employees via a webhook-compatible endpoint (like Slack or Zapier), letting them know that an action took place. ## Create a Webhook Action in Device42 -Configuring Device42 to send a webhook is a simple two-step process: +Configuring Device42 to send a webhook is a two-step process: -1. Define one or more **Webhook Endpoints:** the HTTP URLs Device42 should send your webhooks to via **Tools -> Webhooks -> Endpoints -> Add Webhook Endpoint**. +1. Define one or more **Webhook Endpoints** — the HTTP URLs Device42 should send webhooks to — via **Tools > Webhooks > Endpoints > Add Webhook Endpoint**. -![](/assets/images/WEB-806_1.png) +![Add Webhook Endpoint screen](/assets/images/WEB-806_1.png) -2. Define a **Webhook Action:** the Device42 action(s) that will trigger your webhook, and the endpoints they should go to via **Tools -> Webhooks -> Actions -> Add Webhook Actions**. +2. Define a **Webhook Action** — the Device42 action that will trigger the webhook and the endpoints it should go to — via **Tools > Webhooks > Actions > Add Webhook Actions**. -![](/assets/images/WEB-806_2.png) +![Add Webhook Action screen](/assets/images/WEB-806_2.png) ## Webhook Options -### Webhook Action Screen options - -- **Name:** User-defined name for webhook action -- **Process All Categories:** Hides "Available Categories" choices; webhooks fired on changes in all categories -- **Available Categories:** Specify the CI categories you'd like to trigger the webhook on -- **Process Add Events:** Trigger a webhook if a new CI is added to a _Chosen Categories_ -- **Process Delete Events:** Trigger a webhook if a CI in any of _Chosen Categories_ is deleted -- **Process Change Events:** Trigger a webhook if a CI in any of _Chosen Categories_ is Changed -- **Process View Events:** Trigger a webhook if a "View event" is logged on a CI in _Chosen Categories_ -- **Process Login Events:** Trigger a webhook if a "Login event" is recorded on a CI in _Chosen Categories_ -- **Destination:** Choose the defined endpoint(s) to receive triggered webhook events - -### Webhook Endpoint Screen options - -![](/assets/images/WEB-806_3.png) - - -- **Name:** User-defined name for webhook endpoint -- **URL:** URL destination for webhook -- **Endpoint:** Choose Slack or Zapier to reveal fields specific to those endpoints; Choose custom if targeting anything else -- **Channel:** _Slack Endpoint only_; Specify Slack channel that should receive message when webhook is received -- **Username:** _Slack Endpoint only_; Specify the Slack username the message will originate "From" -- **Icon:** _Slack Endpoint only_; Specify a custom "From" icon -- **Webhook Header:** Define custom Header payloads; each includes a user-defined 'Name' and 'Token' field. +### Webhook Action Screen Options + +- **Name:** User-defined name for the webhook action. +- **Process All Categories:** Hides the **Available Categories** choices; webhooks fire on changes in all categories. +- **Available Categories:** Specify the CI categories that should trigger the webhook. +- **Process Add Events:** Trigger a webhook when a new CI is added to a chosen category. +- **Process Delete Events:** Trigger a webhook when a CI in any chosen category is deleted. +- **Process Change Events:** Trigger a webhook when a CI in any chosen category is changed. +- **Process View Events:** Trigger a webhook when a view event is logged on a CI in a chosen category. +- **Process Login Events:** Trigger a webhook when a login event is recorded on a CI in a chosen category. +- **Destination:** Choose the defined endpoint or endpoints to receive triggered webhook events. + +### Webhook Endpoint Screen Options + +![Webhook Endpoint screen](/assets/images/WEB-806_3.png) + +- **Name:** User-defined name for the webhook endpoint. +- **URL:** URL destination for the webhook. +- **Endpoint:** Choose **Slack** or **Zapier** to reveal fields specific to those endpoints. Choose **Custom** if targeting any other endpoint. +- **Channel:** Slack endpoints only. Specify the Slack channel that should receive the message when the webhook fires. +- **Username:** Slack endpoints only. Specify the Slack username the message will appear to come from. +- **Icon:** Slack endpoints only. Specify a custom icon for the message sender. +- **Webhook Header:** Define custom header payloads. Each header includes a user-defined **Name** and **Token** field. From d0fd0cb9a0c8c54b809c10855e48fec2befcae82 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 16:54:02 +0200 Subject: [PATCH 37/41] 1252: language-improvements; device42-stackstorm-integration --- .../device42-stackstorm-integration.mdx | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/docs/integration/external-integrations/device42-stackstorm-integration.mdx b/docs/integration/external-integrations/device42-stackstorm-integration.mdx index a86f9dc93..790753d6b 100644 --- a/docs/integration/external-integrations/device42-stackstorm-integration.mdx +++ b/docs/integration/external-integrations/device42-stackstorm-integration.mdx @@ -6,7 +6,7 @@ sidebar_position: 28.5 import ThemedImage from '@theme/ThemedImage' import useBaseUrl from '@docusaurus/useBaseUrl' -[StackStorm](https://docs.stackstorm.com/overview.html#about) is well suited to automate a range of IT-management workflows. In response to a trigger event, you can get the StackStorm-Device42 integration to update device details, set user permissions, send Device42 data to other systems, and more. +[StackStorm](https://docs.stackstorm.com/overview.html#about) is well suited for automating a range of IT management workflows. In response to a trigger event, the StackStorm-Device42 integration can update device details, set user permissions, send Device42 data to other systems, and more. ## Set Up the Integration @@ -17,7 +17,7 @@ The steps for setting up the StackStorm integration are: - Configure the plugin using your Device42 credentials. - Test the integration by querying for a specific device using a StackStorm action. -Before creating a fully automated workflow, we'll set up the StackStorm-Device42 integration. First, we'll run StackStorm in a Docker container and install the integration plugin (named "Device42 Package" in StackStorm). We'll configure the plugin using our Device42 credentials. Finally, we'll test the integration by querying for a specific device using a StackStorm action. +Before creating a fully automated workflow, set up the StackStorm-Device42 integration by running StackStorm in a Docker container, installing the integration plugin (named "Device42 Package" in StackStorm), configuring the plugin with your Device42 credentials, and testing the integration by querying for a specific device using a StackStorm action. ### Install StackStorm Using Docker @@ -63,9 +63,9 @@ st2 login st2admin -p 'Ch@ngeMe' -Log in to the StackStorm web UI using the default username `st2admin` and password `Ch@ngeMe`. +Log in to the StackStorm web UI using the default username `st2admin` and password `Ch@ngeMe`. -Even if you're using the CLI, it's handy to have the StackStorm web UI open for quick feedback on communication attempts and to see the available actions under the **Actions** tab. Later, we'll use the `get_device_by_id` action to test the StackStorm-Device42 setup. +Even if you're using the CLI, it's useful to have the StackStorm web UI open for quick feedback on communication attempts and to see the available actions under the **Actions** tab. Later, you'll use the `get_device_by_id` action to test the StackStorm-Device42 setup. ![UI package actions](/assets/images/stackstorm-integration/ss-ui-d42-actions.png) @@ -146,24 +146,24 @@ st2 run device42.get_device_by_id device_id=113 ![get_device_by_id results](/assets/images/stackstorm-integration/ss-cli-get-device-id.png) -## Example Automation +## Example Automation -Let's create an example automation to dynamically set user permissions for a device depending on the device's current lifecycle stage in Device42. The purpose of the automation is to assign which devices each user has access to at a given time, so permissions are granted and revoked as the device moves along the workflow. +This section walks through an example automation that dynamically sets user permissions for a device based on its current lifecycle stage in Device42. The automation assigns which devices each user can access at a given time, granting and revoking permissions as the device moves along the workflow. :::tip -For an overview of the architecture of this integration and additional information, see our in-depth [Dynamic User Permissions with Device42 and StackStorm](https://www.device42.com/blog/2017/11/30/dynamic-user-permissions-with-device42-and-stackstorm/) blog post. +For an overview of the architecture of this integration and additional information, see the [Dynamic User Permissions with Device42 and StackStorm](https://www.device42.com/blog/2017/11/30/dynamic-user-permissions-with-device42-and-stackstorm/) blog post. ::: -In Device42, we will create the following lifecycle stages with matching permission groups, also known as admin groups, and a user for each group: +In Device42, create the following lifecycle stages with matching permission groups (also known as admin groups) and a user for each group: - Purchasing - Mounting - Deployment - Production -We'll also create an [object category](https://docs.device42.com/administration/role-based-access-control/) for each lifecycle stage. It's the object category property that will grant role-based permissions when assigned to a device. +Also create an [object category](https://docs.device42.com/administration/role-based-access-control/) for each lifecycle stage. The object category property grants role-based permissions when assigned to a device. -In total, we'll add the following four items each to the User, Permission Group, Lifecycle Event, and Object Category components in Device42: +In total, add the following four items to each of the User, Permission Group, Lifecycle Event, and Object Category components in Device42: | User | Permission Group | Lifecycle Event | Object Category | |------------------|----------------------|------------------|------------------| @@ -173,7 +173,7 @@ In total, we'll add the following four items each to the User, Permission Group, | production | production_group | production | production_cat | -Let's break down the automation using an example of adding the "mounting" lifecycle event to a device that's in the "purchasing" stage: +Here is a breakdown of the automation using an example of adding the "mounting" lifecycle event to a device that's in the "purchasing" stage: 1. The "purchasing" user updates the lifecycle event from "purchasing" to "mounting". 2. A webhook is triggered in Device42, and sends data about the update to StackStorm. @@ -185,7 +185,7 @@ Let's break down the automation using an example of adding the "mounting" lifecy ### Configure Device42 -To set up an automation, we need to do the following in Device42: +To set up an automation, complete the following steps in Device42: 1. Enable role-based permissions. 2. Create four permission groups (also called admin groups). @@ -199,7 +199,7 @@ Navigate to **Tools > Settings > Global Settings**. Click on **Edit**, and chang #### 2. Create Four Permission Groups -Navigate to **Tools > Admin Groups** and click **+ Add Admin Group**. Name the group "purchasing_group" and select the permissions for the user. For this demonstration, we granted all permissions with the **Choose all** button. Create the mounting, deploying, and production groups in the same way. +Navigate to **Tools > Admin Groups** and click **+ Add Admin Group**. Name the group `purchasing_group` and select the permissions for the user. For this example, grant all permissions using the **Choose all** button. Create the mounting, deploying, and production groups in the same way. -Do this for each of the four users we need, "purchasing", "mounting", "deployment", and "production", and add each new user to their respective permission group. +Do this for each of the four users — `purchasing`, `mounting`, `deployment`, and `production` — and add each user to their respective permission group. #### 4. Link Permission Groups to Object Categories -For each of the four object categories, go to **Infrastructure > Organization > Object Categories** and click **Add Object Category**. Name the category and link it to its respective admin group by clicking *** Add another Group** and selecting the group from the dropdown menu. +For each of the four object categories, go to **Infrastructure > Organization > Object Categories** and click **Add Object Category**. Name the category and link it to its respective admin group by clicking **+ Add another Group** and selecting the group from the dropdown menu. -If you log in to Device42 as the "mounting" user, you should see the updated device. This confirms that the StackStorm-Device42 integration is working to create dynamic user permissions. +If you log in to Device42 as the "mounting" user, you should see the updated device. This confirms that the StackStorm-Device42 integration is working to create dynamic user permissions. Date: Tue, 14 Apr 2026 17:07:29 +0200 Subject: [PATCH 38/41] 1252: language-improvements; zapier-integration --- .../zapier-integration.mdx | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/integration/external-integrations/zapier-integration.mdx b/docs/integration/external-integrations/zapier-integration.mdx index 99c5dbed3..29483a9e1 100644 --- a/docs/integration/external-integrations/zapier-integration.mdx +++ b/docs/integration/external-integrations/zapier-integration.mdx @@ -6,19 +6,19 @@ sidebar_position: 29 import ThemedImage from '@theme/ThemedImage' import useBaseUrl from '@docusaurus/useBaseUrl' -[Zapier](https://zapier.com/) is a versatile workflow automation tool based on "if-this-then-that" logic. You can create an automation sequence, known as a "Zap", to perform actions in response to changes made to Device42 resources. Zapier supports response actions using features of a [variety of apps](https://zapier.com/apps), including Jira, MySQL Server, and Google products. +[Zapier](https://zapier.com/) is a versatile workflow automation tool based on "if-this-then-that" logic. You can create an automation sequence, known as a Zap, to perform actions in response to changes made to Device42 resources. Zapier supports response actions using features of a [variety of apps](https://zapier.com/apps), including Jira, MySQL Server, and Google products. -In this example, we'll have Zapier create a new row in a Google spreadsheet of the webhook payload whenever a new device is added to the Device42 main appliance. The process consists of the following broad steps: +This page walks through an example where Zapier creates a new row in a Google spreadsheet from the webhook payload whenever a new device is added to the Device42 main appliance. The process consists of the following steps: - Generate the Zapier endpoint and add it to Device42. -- Configure the Device42 trigger action. +- Configure the Device42 trigger action. - Configure the Zapier response action. - Test the automation. ## Generate the Zapier Endpoint -1. Log in to your Zapier account and click on the **+ Create Zap** button. -2. Name your Zap at the top-left corner and then click on the **1. Trigger** box to open a window with a list of trigger options to choose from. +1. Log in to your Zapier account and click **+ Create Zap**. +2. Name your Zap in the top-left corner, then click the **1. Trigger** box to open a list of trigger options. ![Set up Zap](/assets/images/zapier-integration/zap-create.png) @@ -26,16 +26,16 @@ In this example, we'll have Zapier create a new row in a Google spreadsheet of t ![Zapier trigger options](/assets/images/zapier-integration/zapier-webhook-option.png) -4. Under the **Event** field, choose the **Catch Raw Hook** option to return header information with the response. For parsed data, select the **Catch Hook** option from the dropdown menu. Click on the **Continue** button. - +4. Under the **Event** field, choose **Catch Raw Hook** to return header information with the response. For parsed data only, select **Catch Hook** instead. Click **Continue**. + ![Catch Raw Hook Event](/assets/images/zapier-integration/trigger-event.png) -5. Copy the generated webhook URL to add as an endpoint in the Device42 main appliance. +5. Copy the generated webhook URL to add as an endpoint in Device42. ## Add the Endpoint to Device42 1. Log in to your Device42 main appliance and navigate to **Tools > Webhooks > Endpoints**. -2. Click the **+ Add Webhook Endpoint** button on the left. +2. Click **+ Add Webhook Endpoint**.

-3. Create a webhook endpoint by filling in the following: +3. Fill in the following fields: - **Name:** A unique name for the endpoint. - **URL:** The URL generated by Zapier in the previous section. - **Endpoint:** Select **Zapier**. - - **Retry:** Select **After 5 and 15 minutes** from the dropdown menu. + - **Retry:** Select **After 5 and 15 minutes** from the dropdown menu. - **Ignore Certificate Errors:** Check this option. -Optionally, you can add webhook headers to be included in the returned data when the Zap is triggered. Click the **+ Add another Webhook Header** button and provide the header name and value. +Optionally, add webhook headers to be included in the returned data when the Zap is triggered. Click **+ Add another Webhook Header** and provide the header name and value. Webhooks > Actions** and click on the **+ Add Webhook Action** button. +1. Navigate to **Tools > Webhooks > Actions** and click **+ Add Webhook Action**.

-2. Provide a **Name** for your webhook action. If you want to include all IT resources managed by Device42 in the action, check the **Process All Categories** checkbox. Alternatively, add selected IT resources to the **Chosen categories** box. Use the search bar under **Available categories** to narrow down the options. +2. Provide a **Name** for your webhook action. To include all IT resources managed by Device42, check the **Process All Categories** checkbox. Alternatively, add selected IT resources to the **Chosen categories** box. Use the search bar under **Available categories** to narrow down the options. -In addition to monitoring for adding, deleting, and updating events, you can trigger the action when a resource is viewed by selecting **Process View Events**, or when a login occurs by selecting **Process Login Events**. +In addition to monitoring for add, delete, and update events, you can trigger the action when a resource is viewed by selecting **Process View Events**, or when a login occurs by selecting **Process Login Events**.

-3. Add the endpoint you previously created to the action by clicking on the **Add another Webhook Action Endpoints** link. Click on the **magnifying glass icon** and select the endpoint from the list. +3. Add the endpoint you created to the action by clicking **Add another Webhook Action Endpoints**. Click the **magnifying glass icon** and select the endpoint from the list. Webhooks > Pending**. +To view webhooks that are triggered and pending, navigate to **Tools > Webhooks > Pending**. From 3ebfa7d5882c863fc4cb73a99388eba94de9695d Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 17:08:59 +0200 Subject: [PATCH 39/41] 1252: language-improvements; device42-zendesk-connector --- .../device42-zendesk-connector.mdx | 62 +++++++++---------- 1 file changed, 29 insertions(+), 33 deletions(-) diff --git a/docs/integration/external-integrations/device42-zendesk-connector.mdx b/docs/integration/external-integrations/device42-zendesk-connector.mdx index 455d5a2ee..5bb743790 100644 --- a/docs/integration/external-integrations/device42-zendesk-connector.mdx +++ b/docs/integration/external-integrations/device42-zendesk-connector.mdx @@ -6,34 +6,34 @@ sidebar_position: 30 import ThemedImage from '@theme/ThemedImage' import useBaseUrl from '@docusaurus/useBaseUrl' -Device42 discovery keeps your infrastructure documentation up-to-date, and with the Zendesk connector, your help desk can access IT infrastructure information via support tickets. +Device42 discovery keeps your infrastructure documentation up-to-date, and with the Zendesk connector, your help desk can access IT infrastructure information directly from support tickets. This page covers how to set up the integration and use it to link Device42 CIs to Zendesk tickets. ## Benefits of the Device42-Zendesk Integration -With the Device42-Zendesk integration, you'll benefit from the ability to: +With the Device42-Zendesk integration, you can: -- Click links integrated into Zendesk that jump you directly to the relevant IT infrastructure CI details page in Device42 -- Attach any part of your discovered IT infrastructure in Device42, including devices, racks, parts, and PDUs, directly to your Zendesk tickets -- View details like device type, device service level, and serial numbers stored in Device42 directly within Zendesk -- Customize Zendesk by adding your discovered Device42 infrastructure items as columns in your Zendesk custom views +- Click links in Zendesk that go directly to the relevant CI details page in Device42. +- Attach any part of your discovered IT infrastructure in Device42 — including devices, racks, parts, and PDUs — directly to Zendesk tickets. +- View details like device type, service level, and serial numbers stored in Device42 from within Zendesk. +- Customize Zendesk by adding discovered Device42 infrastructure items as columns in custom views. -## Set up the Integration +## Set Up the Integration -Before creating an External Integration in Device42 and installing the integration plugin in Zendesk, you need to create a Zendesk API Token. +Before creating an External Integration in Device42 and installing the integration plugin in Zendesk, you need to create a Zendesk API token. -As a prerequisite, ensure your [Device42 Cloud Connector](integration/external-integrations/device42-cloud-connector-overview.mdx) is configured (under **Tools > Integrations > Cloud Services**) to allow communication between Device42 and Zendesk. +As a prerequisite, ensure your [Device42 Cloud Connector](/integration/external-integrations/device42-cloud-connector-overview) is configured under **Tools > Integrations > Cloud Services** to allow communication between Device42 and Zendesk. ### Create a Zendesk API Token -- To begin, open Zendesk and click the **gear icon** on the left sidebar of the Zendesk interface. Then navigate to **Apps and integrations > API configuration** to enable API token access if it's not already enabled. +- Open Zendesk and click the **gear icon** on the left sidebar. Navigate to **Apps and integrations > API configuration** to enable API token access if it is not already enabled. - ![Zendesk enable API token access](/assets/images/zendesk-integration/zendesk-api-allow.png) + ![Zendesk enable API token access](/assets/images/zendesk-integration/zendesk-api-allow.png) -- Go to **Apps and integrations > API tokens** and generate a new API access token using the **Add API Token** button. +- Go to **Apps and integrations > API tokens** and click **Add API Token** to generate a new token. ![Zendesk add API token](/assets/images/zendesk-integration/zendesk-add-api-token.png) -- Name the new API token `Device42 Integration`, or something similar, and then copy the token value and save it in a safe and retrievable location. +- Name the token `Device42 Integration` (or something similar), then copy the token value and save it in a secure location. ![Zendesk generate API token](/assets/images/zendesk-integration/zendesk-copy-token.png) @@ -41,8 +41,8 @@ As a prerequisite, ensure your [Device42 Cloud Connector](integration/external-i Next, enable the Zendesk integration from Device42. -- Head to **Tools > Integrations > External Integrations** and click the **Create** button. -- Under **Type** select **Zendesk**. +- Navigate to **Tools > Integrations > External Integrations** and click **Create**. +- Under **Type**, select **Zendesk**. - Enter the **URL** of your Zendesk instance. -- In the **Token** field, use the **plus icon** and create a new Secret. Enter your Zendesk username followed by `/token` in the **Username** field (for example, `name@company.com/token`). Then paste the Zendesk API token into the **Password** field. +- In the **Token** field, click the **plus icon** and create a new Secret. Enter your Zendesk username followed by `/token` in the **Username** field (for example, `name@company.com/token`). Paste the Zendesk API token into the **Password** field. :::note - Per Zendesk instructions, when authenticating with token access, add `/token` to the end of your username. + When authenticating with token access, add `/token` to the end of your username, as required by Zendesk. ::: - -- Save the new Zendesk integration and then copy the new **Verification token**, as Device42 generates a new token on saving. +- Save the new Zendesk integration and copy the **Verification Token** — Device42 generates a new token on saving. - - -Now it's time to install the Zendesk add-on. ### Install the Device42 Add-On for Zendesk -To begin installing the Device42-Zendesk integration, head to the [Zendesk marketplace](https://www.zendesk.com/marketplace/apps/). If you have trouble with the link, check that you are signed in to your Zendesk account. +Go to the [Zendesk Marketplace](https://www.zendesk.com/marketplace/apps/). If you have trouble accessing the link, ensure you are signed in to your Zendesk account. - Search for `Device42 Connector` to locate the integration add-on. ![Zendesk Marketplace D42 App](/assets/images/zendesk-integration/device42-connector-marketplace.png) -- Click the Zendesk marketplace **Install** button, choose the name of your account from the dropdown, and click **Install** to continue the installation. +- Click **Install**, choose your account from the dropdown, and click **Install** again to continue. ![Select account](/assets/images/zendesk-integration/select-account.png) -- Name your integration. We used `Device42 connector for Zendesk` in this example. +- Name your integration (for example, `Device42 connector for Zendesk`). -- For the **Token** field, provide the **Verification Token** you saved from the Device42 External Integration setup steps above. +- In the **Token** field, enter the **Verification Token** from the Device42 External Integration setup. ![Plugin installation settings](/assets/images/zendesk-integration/connector-configure.png) -- Enable role and group restrictions if desired. (In the example, we left them disabled at this stage.) -- Click **Install** to complete the integration installation. +- Enable role and group restrictions if desired. +- Click **Install** to complete the installation. ## Use the Zendesk Connector Once the plugin is installed, you can associate CIs (Configuration Items) from Device42 with tickets. -- In Device42, head to any device, building, room, or CI of your choice, and find the **Zendesk** section: +- In Device42, navigate to any device, building, room, or CI, and find the **Zendesk** section: -- Click **+ Link to Zendesk ticket** to link an existing ticket by entering the ticket's ID or URL. -- Click **+ Add New** to add a new ticket: +- Click **+ Link to Zendesk ticket** to link an existing ticket by entering the ticket's ID or URL. +- Click **+ Add New** to create a new ticket: -You'll see any tickets you've created in Zendesk with a link to the associated CI in Device42: +Tickets created in Zendesk include a link to the associated CI in Device42: ![D42 CI on Zendesk Tickets](/assets/images/zendesk-integration/zendesk-ui-ticket.png) From 9c0e804a89f8a51b316c11db880b84950b111079 Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Tue, 14 Apr 2026 17:25:37 +0200 Subject: [PATCH 40/41] 1252: language-improvements; external-integrations/index --- .../external-integrations/index.mdx | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/docs/integration/external-integrations/index.mdx b/docs/integration/external-integrations/index.mdx index 11720563b..2e1c85b37 100644 --- a/docs/integration/external-integrations/index.mdx +++ b/docs/integration/external-integrations/index.mdx @@ -5,16 +5,33 @@ authors: - d42docadmin --- -Device42 integrates with many popular 3rd party ITSM, CM, SIEM, or IPAM tools. Use the sidebar on the left for guidance on third-party specific software integration. +Device42 integrates with many popular third-party ITSM, CM, SIEM, and IPAM tools to keep your IT infrastructure data consistent and actionable across your organization. Use the sidebar to find setup and configuration guidance for specific integrations. + +## Integration Docs + +The following integrations are documented in this section, among others. Use the sidebar to browse all available pages. + +| Integration Type | Integrations | +|------------------|--------------| +| ITSM | [Jira](/integration/external-integrations/jira-integrations), [Freshservice](/integration/external-integrations/freshservice-integration), [ServiceNow](/integration/external-integrations/device42-servicenow-connector), [Zendesk](/integration/external-integrations/device42-zendesk-connector), [Cherwell](/integration/external-integrations/cherwell-integration), [HP Service Manager](/integration/external-integrations/device42-hp-service-manager-integration) | +| Alerting and Incident Management | [PagerDuty](/integration/external-integrations/pagerduty-integration), [Opsgenie](/integration/external-integrations/opsgenie-integration), [Nagios](/integration/external-integrations/monitor-device42-health-status-in-nagios) | +| Knowledge and Collaboration | [Confluence](/integration/external-integrations/device42-confluence-connector) | +| Password and Secrets Management | [CyberArk](/integration/external-integrations/cyberark-integration), [Delinea Secret Server](/integration/external-integrations/delinea-secret-server-integration), [HashiCorp Vault](/integration/external-integrations/hashicorp-vault-integration), [Microsoft LAPS](/integration/external-integrations/microsoft-laps-integration) | +| Configuration Management | [Puppet and Chef](/integration/external-integrations/puppet-and-chef-integrations), [SaltStack](/integration/external-integrations/device42-saltstack-integration), [Foreman Smart Proxy](/integration/external-integrations/foreman-smart-proxy-plugin) | +| CI/CD and Automation | [Jenkins](/integration/external-integrations/jenkins-integration), [StackStorm](/integration/external-integrations/device42-stackstorm-integration), [Zapier](/integration/external-integrations/zapier-integration), [Webhooks](/integration/external-integrations/webhooks-generic-integration), [Rundeck](/integration/external-integrations/collect-node-data-from-device42-for-rundeck) | +| Data and Analytics | [ODBC Driver](/integration/external-integrations/odbc-driver-integration), [JDBC Driver](/integration/external-integrations/jdbc-driver-integration), [PowerBI](/integration/external-integrations/powerbi-integration) | +| Cloud and Migration | [Cloud Connector](/integration/external-integrations/device42-cloud-connector-overview), [Cloud Services Settings](/integration/external-integrations/cloud-services-settings), [Azure Migrate](/integration/external-integrations/azure-migrate), [Carbonite Migration](/integration/external-integrations/carbonite-migration), [Aperture VISTA Migration](/integration/external-integrations/aperture-vista-to-device42-migration) | ## Download Integration Tools In addition to an extensive API library, Device42 provides connectors that make integrations easy. -**Browse & download integrations:** [https://www.device42.com/integrations/](https://www.device42.com/integrations/) +**Browse and download integrations:** [https://www.device42.com/integrations/](https://www.device42.com/integrations/) ## Tools for Custom Integrations -**Bulk Data Management Tools**: [https://www.device42.com/bulk-data-management/](https://www.device42.com/bulk-data-management/) Device42 RESTful API Documentation: [https://api.device42.com/](https://api.device42.com/) +Device42 offers the following resources for building custom integrations: -Various other useful integrations, import, sample scripts, and open source tools we've written can be found on our GitHub site: [https://github.com/device42](https://github.com/device42). +- **Bulk Data Management Tools:** [https://www.device42.com/bulk-data-management/](https://www.device42.com/bulk-data-management/) +- **Device42 RESTful API documentation:** [https://api.device42.com/](https://api.device42.com/) +- **Sample scripts and open source tools:** [https://github.com/device42](https://github.com/device42) From 4e3b7f66d6a38929ef4740100fc5426403c6f47b Mon Sep 17 00:00:00 2001 From: Nadia <98525884+Nadia-JSch@users.noreply.github.com> Date: Wed, 15 Apr 2026 19:30:21 +0200 Subject: [PATCH 41/41] 1252: update images and improve field descriptions; webhooks-generic-integration --- .../webhooks-generic-integration.mdx | 73 +++++++++++------- .../webhook-action-dark.png | Bin 0 -> 75171 bytes .../webhook-action-light.png | Bin 0 -> 76590 bytes .../webhook-endpoint-dark.png | Bin 0 -> 63628 bytes .../webhook-endpoint-light.png | Bin 0 -> 61681 bytes .../webhook-menu-dark.png | Bin 0 -> 133067 bytes .../webhook-menu-light.png | Bin 0 -> 136067 bytes 7 files changed, 46 insertions(+), 27 deletions(-) create mode 100644 static/assets/images/webhooks-generic-integration/webhook-action-dark.png create mode 100644 static/assets/images/webhooks-generic-integration/webhook-action-light.png create mode 100644 static/assets/images/webhooks-generic-integration/webhook-endpoint-dark.png create mode 100644 static/assets/images/webhooks-generic-integration/webhook-endpoint-light.png create mode 100644 static/assets/images/webhooks-generic-integration/webhook-menu-dark.png create mode 100644 static/assets/images/webhooks-generic-integration/webhook-menu-light.png diff --git a/docs/integration/external-integrations/webhooks-generic-integration.mdx b/docs/integration/external-integrations/webhooks-generic-integration.mdx index 5041ac3cf..69f07e628 100644 --- a/docs/integration/external-integrations/webhooks-generic-integration.mdx +++ b/docs/integration/external-integrations/webhooks-generic-integration.mdx @@ -3,44 +3,63 @@ title: "Webhooks - Generic Integration" sidebar_position: 28 --- +import ThemedImage from '@theme/ThemedImage' +import useBaseUrl from '@docusaurus/useBaseUrl' + Webhooks initiate an external action in another part of your IT environment when an event, based on rules you define, occurs. Also known as HTTP callbacks, webhooks are sent to HTTP endpoints (URLs) when a configured Webhook Action criteria is met. Within Device42, anything that produces an audit-log entry can be configured to fire a webhook. For example, you can configure webhooks to trigger when a Device42 discovery job finds a new device, when details about an existing device change, or when a device is deleted. An IT administrator might configure a webhook to deliver a message to one or more IT employees via a webhook-compatible endpoint (like Slack or Zapier), letting them know that an action took place. -## Create a Webhook Action in Device42 - -Configuring Device42 to send a webhook is a two-step process: + -1. Define one or more **Webhook Endpoints** — the HTTP URLs Device42 should send webhooks to — via **Tools > Webhooks > Endpoints > Add Webhook Endpoint**. +## Create a Webhook Action in Device42 -![Add Webhook Endpoint screen](/assets/images/WEB-806_1.png) +Configuring Device42 to send a webhook requires two things: a **Webhook Endpoint** and a **Webhook Action**. -2. Define a **Webhook Action** — the Device42 action that will trigger the webhook and the endpoints it should go to — via **Tools > Webhooks > Actions > Add Webhook Actions**. +## Add a Webhook Endpoint -![Add Webhook Action screen](/assets/images/WEB-806_2.png) +A webhook endpoint is the HTTP URL that Device42 sends webhook events to. Navigate to **Tools > Webhooks > Endpoints > Add Webhook Endpoint**. -## Webhook Options + -### Webhook Action Screen Options +- **Name:** A name to identify this endpoint. +- **URL:** The URL that Device42 will send webhook events to. +- **Endpoint:** Select **Slack** or **Zapier** to see fields specific to that service, or **Custom** for any other endpoint. +- **Channel:** Slack only. The Slack channel to post the message to. +- **Username:** Slack only. The name the message will appear to come from. +- **Icon:** Slack only. A custom icon for the message sender. +- **Webhook Header:** Optional headers to include with the request. Each header has a **Name** and a **Token** field. -- **Name:** User-defined name for the webhook action. -- **Process All Categories:** Hides the **Available Categories** choices; webhooks fire on changes in all categories. -- **Available Categories:** Specify the CI categories that should trigger the webhook. -- **Process Add Events:** Trigger a webhook when a new CI is added to a chosen category. -- **Process Delete Events:** Trigger a webhook when a CI in any chosen category is deleted. -- **Process Change Events:** Trigger a webhook when a CI in any chosen category is changed. -- **Process View Events:** Trigger a webhook when a view event is logged on a CI in a chosen category. -- **Process Login Events:** Trigger a webhook when a login event is recorded on a CI in a chosen category. -- **Destination:** Choose the defined endpoint or endpoints to receive triggered webhook events. +## Add a Webhook Action -### Webhook Endpoint Screen Options +A webhook action defines which Device42 events trigger the webhook and which endpoints receive it. Navigate to **Tools > Webhooks > Actions > Add Webhook Action**. -![Webhook Endpoint screen](/assets/images/WEB-806_3.png) + -- **Name:** User-defined name for the webhook endpoint. -- **URL:** URL destination for the webhook. -- **Endpoint:** Choose **Slack** or **Zapier** to reveal fields specific to those endpoints. Choose **Custom** if targeting any other endpoint. -- **Channel:** Slack endpoints only. Specify the Slack channel that should receive the message when the webhook fires. -- **Username:** Slack endpoints only. Specify the Slack username the message will appear to come from. -- **Icon:** Slack endpoints only. Specify a custom icon for the message sender. -- **Webhook Header:** Define custom header payloads. Each header includes a user-defined **Name** and **Token** field. +- **Name:** A name to identify this action. +- **Process All Categories:** When checked, webhooks fire for changes across all CI categories, hiding the category picker. +- **Available Categories:** The specific CI categories to monitor for changes. +- **Process Add Events:** Fire the webhook when a new CI is added. +- **Process Delete Events:** Fire the webhook when a CI is deleted. +- **Process Change Events:** Fire the webhook when a CI is updated. +- **Process View Events:** Fire the webhook when a CI in a chosen category is viewed. +- **Process Login Events:** Fire the webhook when a login event is recorded on a CI in a chosen category. +- **Destination:** The endpoint or endpoints that should receive the webhook. diff --git a/static/assets/images/webhooks-generic-integration/webhook-action-dark.png b/static/assets/images/webhooks-generic-integration/webhook-action-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..b381eebe44de6631ac0143bbecad179797e029c6 GIT binary patch literal 75171 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%0D#nW;`{in9M*i|Oky)u@Pi;rK%aIq?!BU{WI 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 z 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 bOBCf8`GmonNV0ha&! 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 literal 0 HcmV?d00001 diff --git a/static/assets/images/webhooks-generic-integration/webhook-menu-light.png b/static/assets/images/webhooks-generic-integration/webhook-menu-light.png new file mode 100644 index 0000000000000000000000000000000000000000..aac9091d75e3ec4a69ffe447caf51d20c9ad54f7 GIT binary patch literal 136067 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 literal 0 HcmV?d00001