IE integrations upgrade guide
When upgrading from Invicti Enterprise to Invicti Platform, Invicti Platform automatically carries over your configured integrations. This document explains what transfers for each supported integration, what doesn't, and what to verify after the upgrade.
For a high-level overview of all upgrade topics, refer to the Moving from Invicti Enterprise to Invicti Platform document.
Why this matters
Two integrations - GitHub and Webhook - have cases where the upgrade silently drops part or all of the configuration without an error message. If you use GitHub with a self-hosted server, or a Webhook integration with the XML parameter type, your integration won't work as expected after the upgrade and you need to take action.
Supported integrations
Invicti Platform automatically carries over the following seven integrations when upgrading from Invicti Enterprise:
| Integration | Upgrade status | Key notes |
|---|---|---|
| Jira | Carried over | Custom issue title format is replaced by a standardized format |
| Azure Boards | Carried over | Status mappings aren't carried. The upgrade transfers only the first tag |
| GitHub | Carried over | GitHub Enterprise server URLs are silently replaced with api.github.com |
| GitLab | Carried over | Status mappings aren't carried |
| Slack | Carried over | Only the incoming webhook URL is carried |
| Microsoft Teams | Carried over | Webhook URL and color are carried |
| Webhook | Partially carried over | Integrations using the XML parameter type are silently skipped |
- Invicti Platform decrypts passwords and tokens from Invicti Enterprise's encrypted storage and re-encrypts them.
- Integration names must be unique in Invicti Platform. If an integration with the same name already exists, the upgrade skips that integration.
- Issue tracker integrations (Jira, Azure Boards, GitHub, GitLab) use a standardized issue title and body format in Invicti Platform. Custom issue title templates from Invicti Enterprise aren't preserved.
Jira
This section covers what carries over from your Jira configuration during the upgrade and what to verify afterward.
What's carried over
| Setting | Notes |
|---|---|
| Integration name | Carried over as the display name |
| Server URL | Jira instance URL |
| Username and password | Authentication credentials |
| Project key and project ID | Target Jira project |
| Issue type | Target issue type |
| Webhook URL | For status sync callbacks |
| Status mappings | Open and rediscovered statuses map to reopen. Fixed maps to resolved |
| False positive behavior | Maps to a separate Jira status if "Do not reopen when marked" is enabled |
| Custom fields | All custom field name-value pairs, including versions, fix versions, labels, components, security level, epic, due date, assignee, and reporter |
| Priority mappings | Severity-to-Jira-priority mappings for Critical, High, Medium, Low, and Informational |
| User mappings | Invicti Enterprise user-to-Jira-user mappings (V1 integrations only) |
Issue title format: Invicti Platform standardizes the issue title to Invicti - {Severity}: {Vulnerability} - {Asset Name} and doesn't preserve any custom title format from Invicti Enterprise.
Issue body: always includes Summary, Vulnerability Description, Attack Details, Classification, Impact, How to Fix, and Web References.
What isn't carried over
| Setting | Reason |
|---|---|
| Custom title format | Replaced by the standardized Invicti Platform title format |
Is Cloud flag | Not applicable in Invicti Platform |
| Auto-assign to person | Not supported in Invicti Platform |
| Remove request/response option | Not supported in Invicti Platform |
What to verify
After the upgrade, open your Jira integration settings in Invicti Platform and confirm that all custom fields still exist in your Jira instance. Fields that no longer exist in Jira are excluded automatically during the upgrade. For setup details, refer to the Jira document.
Azure Boards
This section covers what carries over from your Azure Boards configuration and what to verify after the upgrade.
What's carried over
| Setting | Notes |
|---|---|
| Integration name | Carried over as the display name |
| Organization URL | Extracted from the Project URI |
| Project | Extracted from the Project URI |
| Username and password | Authentication credentials |
| Work item type | Target work item type name |
| Custom fields | All custom field name-value pairs |
| Tags | First tag from the Invicti Enterprise tag list only |
| Assigned to | Work item assignee |
Issue title format: Standardized to Invicti - {Severity}: {Vulnerability}.
If Invicti Platform can't parse the Project URI to extract an organization and project name, the upgrade skips the integration and logs a warning. After the upgrade, confirm that your Azure Boards integration is present in Invicti Platform.
What isn't carried over
| Setting | Reason |
|---|---|
| Status mappings | Not supported in Invicti Platform for Azure Boards |
| Webhook URL | Not supported |
| Custom title format | Replaced by the standardized Invicti Platform title format |
| Domain field | Not applicable in Invicti Platform |
What to verify
After the upgrade, open your Azure Boards integration settings and confirm that custom fields match your work item schema. For setup details, refer to the Azure Boards document.
GitHub
This section covers what carries over from your GitHub configuration. If you use GitHub Enterprise, pay attention to the server URL warning below.
What's carried over
| Setting | Notes |
|---|---|
| Integration name | Carried over as the display name |
| Access token | Used for authentication |
| Repository | Target repository name |
| Organization | Falls back to the Invicti Enterprise username if not set |
| Assignee | Issue assignee username |
| Labels | All labels from the Invicti Enterprise configuration |
Authentication username: Invicti Platform uses the primary account user's email address as the authentication username, not the GitHub username stored in Invicti Enterprise.
Issue title format: Standardized to Invicti - {Severity}: {Vulnerability}.
If your integration used a custom GitHub Enterprise server URL (a self-hosted GitHub instance), the upgrade silently replaces that URL with https://api.github.com. Your integration won't connect to your GitHub Enterprise server after the upgrade.
To fix this, reconfigure the GitHub integration in Invicti Platform after the upgrade to point to your GitHub Enterprise instance.
What to verify
After the upgrade, confirm your access token is still valid and that the organization and repository selections are correct. If you used GitHub Enterprise, reconfigure the server URL after the upgrade. For setup details, refer to the GitHub issues document.
GitLab
This section covers what carries over from your GitLab configuration and what to verify after the upgrade.
What's carried over
| Setting | Notes |
|---|---|
| Integration name | Carried over as the display name |
| On-premises base URL | Carried over if set. Defaults to https://gitlab.com/ if not configured |
| Access token | Used for authentication |
| Project ID | Target GitLab project |
| Assignee ID | Carried over only if the value is greater than 0 |
| Weight | Carried over only if the value is greater than 0 |
| Due date (days) | Carried over only if the value is greater than 0 |
| Milestone ID | Carried over only if the value is greater than 0 |
| Labels | All labels from the Invicti Enterprise configuration |
Authentication username: Invicti Platform uses the primary account user's email address as the authentication username.
Issue title format: Standardized to Invicti - {Severity}: {Vulnerability}.
The upgrade treats numeric fields (assignee ID, weight, due date, milestone ID) set to 0 as "not configured" and doesn't transfer them. Only non-zero values carry over.
What isn't carried over
Invicti Platform doesn't support status mappings for GitLab and doesn't transfer them.
What to verify
After the upgrade, confirm your access token is valid and that the project ID is correct. For setup details, refer to the GitLab issues document.
Slack
This section covers what carries over from your Slack configuration and how to verify the webhook URL is still active after the upgrade.
What's carried over
Only the integration name and the incoming webhook URL are carried over. The message format in Invicti Platform uses a standardized template.
What to verify
After the upgrade, send a test notification to confirm the webhook URL is still active. Slack webhooks can expire if the associated Slack app is reconfigured. For setup details, refer to the Slack integration document.
Microsoft Teams
This section covers what carries over from your Microsoft Teams configuration and how to confirm the webhook is still active after the upgrade.
What's carried over
The integration name, webhook URL, and color (the card accent color for Teams adaptive cards) are carried over. The message format uses a standardized adaptive card template.
What to verify
After the upgrade, confirm the webhook URL is still active in your Teams channel. For setup details, refer to the Microsoft Teams integration document.
Webhook
This section covers what carries over from webhook configurations. If you used the XML parameter type in Invicti Enterprise, see the warning below.
What's carried over
| Setting | Notes |
|---|---|
| Integration name | Carried over as the display name |
| Webhook URL | Target endpoint URL |
| HTTP method | GET, POST, or PUT |
| Parameter type | Form, JSON, or Query String |
| Username and password | Carried over only if both are set |
| Custom fields | All name-value pairs |
| Title field | Mapped to the {Vulnerability} template variable |
| Body field | Mapped to the {Issue detail template} template variable |
| Custom HTTP headers | All header name-value pairs |
Invicti Platform doesn't transfer webhook integrations configured with the XML parameter type in Invicti Enterprise. The upgrade silently skips them - they don't appear in Invicti Platform and Invicti Platform shows no error.
If you had Webhook integrations using XML, recreate them manually in Invicti Platform using JSON, Form, or Query String as the parameter type instead.
What to verify
After the upgrade, confirm all webhook integrations are present in Invicti Platform. If any are missing, they were likely using the XML parameter type and need to be recreated. For setup details, refer to the Webhook document.
Integrations not supported from Invicti Enterprise
Only the seven integrations listed in this document are carried over. Invicti Platform doesn't carry over any other integration type configured in Invicti Enterprise. Set these up from scratch in Invicti Platform.
To set up a new integration, select Settings > Integrations from the left-side menu in Invicti Platform. For a full list of available integrations, refer to the Integrations documentation.
Troubleshooting
An integration is missing from Invicti Platform after the upgrade
Three things can cause an integration to be absent after the upgrade:
- Duplicate name - If an integration with the same name already existed in Invicti Platform, the upgrade skipped it. Rename the existing one and recreate the integration manually.
- Webhook XML type - The upgrade silently skips webhook integrations using the XML parameter type. Recreate them in Invicti Platform using JSON, Form, or Query String instead.
- Azure Boards Project URI - If Invicti Platform couldn't parse the Project URI, the upgrade skipped it. Recreate it manually in Invicti Platform.
GitHub issues aren't being created after the upgrade
If you use a self-hosted GitHub Enterprise instance, the upgrade replaced the server URL with https://api.github.com. Reconfigure the GitHub integration in Invicti Platform with your GitHub Enterprise server URL.
If you use GitHub.com and issues still aren't being created, verify that your Personal Access Token is still valid and has the required repository permissions.
GitLab issues are created but the assignee or milestone isn't set
If the assignee ID, milestone ID, weight, or due date had a value of 0 in Invicti Enterprise, the upgrade treats these as unset and doesn't transfer them. To restore them, edit your GitLab integration in Invicti Platform and enter the values directly.
The issue title format changed after the upgrade
Invicti Platform uses a standardized issue title format: Invicti - {Severity}: {Vulnerability} - {Asset Name} for Jira, and Invicti - {Severity}: {Vulnerability} for Azure Boards, GitHub, and GitLab. Custom title formats from Invicti Enterprise aren't preserved.
Custom fields are missing from the Jira integration
The upgrade excludes custom fields that no longer exist in your Jira instance, such as fields that Jira deleted, renamed, or that aren't available for the configured project or issue type. To restore them, confirm the fields exist in Jira and then edit your Jira integration in Invicti Platform to refresh the field list.
Need help?
Invicti Support team is ready to provide you with technical help. Go to Help Center