Upgrade to 2024.2

Note: For upgrades from versions prior to 2023.1, you must follow a two-step upgrade process. You need to upgrade to 2023.1 first, then upgrade to 2024.2. Not following these two steps prevents the proper import of the connections from the Synchronization Policy.

Conversion of record statuses

To ensure consistency, Vera 2024.2 automatically converts all records with a non-standard Vera status to an equivalent standard Vera status after startup.

For example, it changes all qTest records with a routing status to Routing for Approval.

This update doesn't affect your existing approved records in qTest or Jira.

Document generation microservice

As of Vera 2024.2, we've introduced new containers for document generation. To generate documents, you first need to update your Docker configuration:

  1. Open the docker-compose.yml file. You can find a sample file in Vera deployment with Docker.

  2. Add the following containers:

    • vera.api.documents

    • vera.worker.documents

      Note that for this container, you also need to create the DocumentGenerationServiceAddress and QueryEngineAddress environment variables.

    • vera.worker.carbone

    • vera.query.engine

    For more information, check out "Upgrade the Server applications".

  3. Update the image tags to the latest available patch version for Vera 2024.2.

    Here's an example of how the updated configuration might look like:

    Copy
    vera.worker.carbone:
    image: http://veraserver20190209075900.azurecr.io/tricentis/vera-worker-carbone:2024.2
    container_name: vera-worker-carbone
    labels:
    - "com.centurylinklabs.watchtower.enable=true"
    ports:
    - "3000:3000"
    restart: always
    volumes:
    - "/var/lib/tx3_services:/Data"
    environment:
    - VERA_SERVER_DATA_DIR=/Data
    - LocalAddress=http://vera.worker.carbone
  1. Make sure that the MongoDB user has the correct permissions to create collections so that Vera can create these databases and collections:

    New database Collection
    vera-documents
    • document-definitions

    • document-template-revisions

    • document-templates

    • document-types

    vera-documents-templates-messagedata
    • fs.chunks

    • fs.files

    vera-document-template-files
    • fs.chunks

    • fs.files

    If the MongoDB user can't create databases, follow these steps:

    • Manually create the databases.

    • Ensure the MongoDB user still has the necessary permissions to create the required collections.

Record traceability

In this release, we've introduced new containers for Record Traceability when using Qtest. To support this feature, you first need to update your Docker configuration:

  1. Open the docker-compose.yml file. You can find a sample file in Vera deployment with Docker.

  2. If present, remove the vera.api.qtest.routeactions container. We've replaced it with the new vera.api.qtest container.

  3. Access the vera.worker.qtest container and set the environment variable Vera.Worker.QTest.WebhookUrl to the external Vera API URL that qTest uses to send webhooks. For example:

    • {Vera Server URL}/api/qtest/webhook

    • {Vera Server URL}/callbacks/qTest/route_action

  4. Add the following qTest Requirement under Jira-qTest Requirement:

    Copy
     {
                    "Name": "qTest Requirement",
                    "Definitions": [
                        {
                            "Systems": [
                                "qTest"
                            ],
                            "Item Types": [
                                "requirement"
                            ],
                            "Constraints": [],
                            "Aliases": [
                                {
                                    "Policy Field": "ID",
                                    "System Field": "Req ID"
                                }
                            ],
                            "Singular Name": "Requirement",
                            "Plural Name": "Requirements",
                            "Ownership Description": "created",
                            "Content Originator": "Author",
                            "Hard Lock Rules": [],
                            "Details": []
                        }
                    ],
                    "Editors": [],
                    "Managers": [],
                    "Administrators": [],
                    "State Field": "",
                    "States": [],
                    "Fields": [
                        {
                            "Order": 2147483647,
                            "Name": "Status",
                            "Edit Rules": [],
                            "Is Data": true,
                            "Is Unique": false,
                            "Default Value": "",
                            "Format": "",
                            "Reset on Copy": false,
                            "Append on Copy": null,
                            "Displays Signatures For": [],
                            "Displays Route Info For": []
                        },
                        {
                            "Order": 2147483647,
                            "Name": "Type",
                            "Edit Rules": [],
                            "Is Data": true,
                            "Is Unique": false,
                            "Default Value": "",
                            "Format": "",
                            "Reset on Copy": false,
                            "Append on Copy": null,
                            "Displays Signatures For": [],
                            "Displays Route Info For": []
                        },
                        {
                            "Order": 2147483647,
                            "Name": "Assigned To",
                            "Edit Rules": [],
                            "Is Data": true,
                            "Is Unique": false,
                            "Default Value": "",
                            "Format": "",
                            "Reset on Copy": false,
                            "Append on Copy": null,
                            "Displays Signatures For": [],
                            "Displays Route Info For": []
                        },
                        {
                            "Order": 2147483647,
                            "Name": "Description",
                            "Edit Rules": [],
                            "Is Data": true,
                            "Is Unique": false,
                            "Default Value": "",
                            "Format": "",
                            "Reset on Copy": false,
                            "Append on Copy": null,
                            "Displays Signatures For": [],
                            "Displays Route Info For": []
                        },
                        {
                            "Order": 2147483647,
                            "Name": "Priority",
                            "Edit Rules": [],
                            "Is Data": true,
                            "Is Unique": false,
                            "Default Value": "",
                            "Format": "",
                            "Reset on Copy": false,
                            "Append on Copy": null,
                            "Displays Signatures For": [],
                            "Displays Route Info For": []
                        },
                        {
                            "Order": 2147483647,
                            "Name": "Project ID",
                            "Edit Rules": [],
                            "Is Data": true,
                            "Is Unique": false,
                            "Default Value": "",
                            "Format": "",
                            "Reset on Copy": false,
                            "Append on Copy": null,
                            "Displays Signatures For": [],
                            "Displays Route Info For": []
                        },
                        {
                            "Order": 2147483647,
                            "Name": "Project Name",
                            "Edit Rules": [],
                            "Is Data": true,
                            "Is Unique": false,
                            "Default Value": "",
                            "Format": "",
                            "Reset on Copy": false,
                            "Append on Copy": null,
                            "Displays Signatures For": [],
                            "Displays Route Info For": []
                        },
                        {
                            "Order": 2147483647,
                            "Name": "Author",
                            "Edit Rules": [],
                            "Is Data": true,
                            "Is Unique": false,
                            "Default Value": "",
                            "Format": "",
                            "Reset on Copy": false,
                            "Append on Copy": null,
                            "Displays Signatures For": [],
                            "Displays Route Info For": []
                        }
                    ],
                    "Default Route Template": null,
                    "Allow Verify Signatures": true,
                    "Author": {
                        "Source": "Fields",
                        "Field": "",
                        "Fields": [
                            "Author"
                        ]
                    }
                }

  5. Add the following containers:

    • vera.api.qtest

    • vera.api.traceability

    • vera.worker.traceability

  6. Update the image tags to the latest available patch version for Vera 2024.2.

  7. Make sure that the MongoDB user has the correct permissions to create collections so that Vera can create this database and collections:

    New database Collection
    vera-qtest
    • fs.chunks

    • fs.files

    • qtest-active-linkage-detections

    • qtest-record-imports

    • qtest-record-link-syncs

    • qtest-record-syncs

    • qtest-release-syncs

    • webhook-subscriptions

    vera-traceability

    • project-releases

    • vera-record-links

    • vera-releases

    If the MongoDB user can't create databases, follow these steps:

    • Manually create the databases.

    • Ensure the MongoDB user still has the necessary permissions to create the required collections.

  8. Add the following Record Types to all Records Management Policies:
Copy
{
"Name": "Jira-qTest Requirement",
"Definitions": [
{
"Systems": [
"JIRA",
"qTest"
],
"Item Types": [
"Jira Requirement"
],
"Constraints": [],
"Aliases": [
{
"Policy Field": "ID",
"System Field": "Req ID"
}
],
"Singular Name": "Requirement",
"Plural Name": "Requirements",
"Ownership Description": "created",
"Content Originator": "Author",
"Hard Lock Rules": [],
"Details": []
}
],
"Editors": [],
"Managers": [],
"Administrators": [],
"State Field": "",
"States": [],
"Fields": [
{
"Order": 2147483647,
"Name": "Assignee",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Reporter",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Linked Issues",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Epic Link",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Custom User Picker",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Customer Multiple User Picker",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Components",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2,
"Name": "Description",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "Jira Wiki",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 1,
"Name": "Summary",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 3,
"Name": "Issue Type",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Fix versions",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Owner",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Sample Rich Text Custom Field",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Status",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Type",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Assigned To",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Priority",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Project ID",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Project Name",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Author",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
}
],
"Default Route Template": null,
"Allow Verify Signatures": true,
"Author": {
"Source": "Fields",
"Field": "",
"Fields": [
"Author"
]
}
},
{
"Name": "qTest Defect",
"Definitions": [
{
"Systems": [
"qTest"
],
"Item Types": [
"defect"
],
"Constraints": [],
"Aliases": [
{
"Policy Field": "ID",
"System Field": "Req ID"
}
],
"Singular Name": "Defect",
"Plural Name": "Defects",
"Ownership Description": "created",
"Content Originator": "Author",
"Hard Lock Rules": [],
"Details": []
}
],
"Editors": [],
"Managers": [],
"Administrators": [],
"State Field": "",
"States": [],
"Fields": [
{
"Order": 2147483647,
"Name": "Summary",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Description",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Submitter",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Priority",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Severity",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Assigned To",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Root Cause",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Status",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Type",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Reason",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Project ID",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Project Name",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
},
{
"Order": 2147483647,
"Name": "Author",
"Edit Rules": [],
"Is Data": true,
"Is Unique": false,
"Default Value": "",
"Format": "",
"Reset on Copy": false,
"Append on Copy": null,
"Displays Signatures For": [],
"Displays Route Info For": []
}
],
"Default Route Template": null,
"Allow Verify Signatures": true,
"Author": {
"Source": "Fields",
"Field": "",
"Fields": [
"Author"
]
}
}

 

Additional upgrade tasks

To ensure a smooth upgrade, follow the steps for your current Vera version.

MongoDB compatibility update

Vera now requires a minimum MongoDB version of 5.0. Please ensure your MongoDB is updated prior to upgrading Vera to the latest version.

Current MongoDB version Upgrade path

4.2.x

  1. Upgrade to MongoDB 4.4:  https://www.mongodb.com/docs/v5.0/release-notes/4.4-upgrade-standalone/

  2. Upgrade to MongoDB 5.x: https://www.mongodb.com/docs/manual/release-notes/5.0-upgrade-standalone/

  3. (Optional) Upgrade to MongoDB 6.x: https://www.mongodb.com/docs/manual/release-notes/6.0-upgrade-standalone/

4.4.x

  1. Upgrade to MongoDB 5.x: https://www.mongodb.com/docs/manual/release-notes/5.0-upgrade-standalone/

  2. (Optional) Upgrade to MongoDB 6.x: https://www.mongodb.com/docs/manual/release-notes/6.0-upgrade-standalone/

5.x

  1. (Optional) Upgrade to MongoDB 6.x: https://www.mongodb.com/docs/manual/release-notes/6.0-upgrade-standalone/

6.x

No upgrade necessary.