Skip to main content

Update Vansah Settings for a Jira Space (API)

Read and update your Jira space’s Vansah settings, including Labels, Quick Test, and notifications, while preserving your existing configuration.

Update Vansah settings for a Jira space, such as enabling Labels, Quick Test, or Jira comment notifications.

Read the current settings first. The update replaces the whole miscellaneous settings object. Settings you omit are not automatically preserved.

Endpoints

Action

Method

Endpoint

Read the Jira space’s Vansah settings

GET

/api/v2/project/miscSettings

Replace the saved Vansah settings

PUT

/api/v2/project/miscSettings

Add the endpoint path to your Vansah base URL.

Before you begin

These examples use Bash and cURL. Set VANSAH_URL to your Vansah base URL without a trailing slash and VANSAH_TOKEN to your Vansah API token. Send the token directly in the Authorization header, without a Bearer prefix. Keep it private.

The token account must be able to access the Jira space. Updating settings also requires Jira administrator or Jira space administrator permission.

Replace DEMO with your Jira space key. The query parameter projectKey and JSON path project.key both refer to the Jira space key.

1. Read and save the current settings

Endpoint: GET /api/v2/project/miscSettings

curl --request GET --get \
--url "$VANSAH_URL/api/v2/project/miscSettings" \
--header "Authorization: $VANSAH_TOKEN" \
--header "Accept: application/json" \
--data-urlencode "projectKey=DEMO" \
--data-urlencode "testResult=1" \
--output current-settings.json

This request saves the response as current-settings.json. Check that success is true before preparing an update.

Query parameter

Type

Example value

Use

projectKey

String

DEMO

Selects the Jira space for your API-token request.

testResult

Number

1

Optional. Set to 1 to omit the Test Results list from the response. Omit it or use 0 to include that list. It does not change settings.

A successful read returns HTTP 200, the message Space settings returned successfully., and a data object. There is no pagination. Example response excerpt:

{
"success": true,
"message": "Space settings returned successfully.",
"data": {
"isComponentsEnabled": true,
"isLabelEnabled": false,
"isQuickTestEnabled": true
}
}

The full response contains your other saved settings and additional information. Keep the original file as a backup.

2. Prepare the complete settings object

Endpoint: PUT /api/v2/project/miscSettings

Create misc-settings.json. Start with your current miscellaneous settings from data, retain every setting you want to keep, and change only the intended values. Preserve a configured fields object and any other existing miscellaneous options.

The complete synthetic example below enables Labels for a space with only these settings. Replace its values with your own complete configuration; sending this file as-is would remove any settings your space has in addition to these:

{
"project": {
"key": "DEMO"
},
"miscSettings": {
"isComponentsEnabled": true,
"isLabelEnabled": true,
"isSprintEnabled": true,
"isReleaseEnabled": true,
"isEnvironmentEnabled": true,
"isQuickTestEnabled": true,
"isPassedInCommentEnabled": false,
"isFailedInCommentEnabled": true,
"isIssueLinkingEnabled": true,
"isLinkTestCasesToBugs": true,
"assignTcNotifyLinkedJiraEnabled": true
}
}

Parent object

JSON field

Type

Example value

Use

project

key

String

"DEMO"

The Jira space key to update.

Do not copy response-only information into miscSettings. Leave out permissions, allowAdvancedFeature, isEnterprise, authInfo, userSettings, userGroups, myPermissions, and testResults.

The read response can also include separately managed Test Result settings. Leave these out of miscSettings: isUntestedEnabled, isNaEnabled, isPassedInProgressEnabled, isFailedInProgressEnabled, and isNaInProgressEnabled.

If an existing setting’s purpose is unclear, confirm it with Vansah Support before replacing the configuration. Avoid concurrent edits: an older copy can overwrite another administrator’s changes.

Settings in the example

Endpoint: PUT /api/v2/project/miscSettings

Use JSON true or false, without quotation marks. Each key below belongs inside miscSettings. Individual flags are optional in validation, but this endpoint does not restore omitted values or merge defaults.

Parent object

JSON field

Type

Example value

Use

miscSettings

isComponentsEnabled

Boolean

true

Test Case Components.

miscSettings

isLabelEnabled

Boolean

true

Test Case Labels.

miscSettings

isSprintEnabled

Boolean

true

Sprint selection for test execution.

miscSettings

isReleaseEnabled

Boolean

true

Release selection for test execution.

miscSettings

isEnvironmentEnabled

Boolean

true

Environment selection for test execution.

miscSettings

isQuickTestEnabled

Boolean

true

Quick Test for Test Cases.

Parent object

JSON field

Type

Example value

Use

miscSettings

isPassedInCommentEnabled

Boolean

false

Jira work item comments when a Test Case passes.

miscSettings

isFailedInCommentEnabled

Boolean

true

Jira work item comments when a Test Case fails.

miscSettings

isIssueLinkingEnabled

Boolean

true

Jira work item comments when linking a work item to a Test Run.

miscSettings

isLinkTestCasesToBugs

Boolean

true

Linking the Test Case to a new bug created during testing.

miscSettings

assignTcNotifyLinkedJiraEnabled

Boolean

true

Emailing the assignee when assigning a Test Case.

Keep existing miscellaneous settings not listed here when changing these options. The example is not an exhaustive replacement for your space’s configuration.

3. Send and verify the update

Endpoint: PUT /api/v2/project/miscSettings

curl --request PUT \
--url "$VANSAH_URL/api/v2/project/miscSettings" \
--header "Authorization: $VANSAH_TOKEN" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data-binary @misc-settings.json

Example HTTP 200 response for the complete synthetic request above:

{
"success": true,
"message": "Updated successfully",
"data": {
"isComponentsEnabled": true,
"isLabelEnabled": true,
"isSprintEnabled": true,
"isReleaseEnabled": true,
"isEnvironmentEnabled": true,
"isQuickTestEnabled": true,
"isPassedInCommentEnabled": false,
"isFailedInCommentEnabled": true,
"isIssueLinkingEnabled": true,
"isLinkTestCasesToBugs": true,
"assignTcNotifyLinkedJiraEnabled": true
}
}

The update response echoes the submitted miscellaneous settings. Read them again using step 1 and check the corresponding options in Vansah’s space settings. If a request fails or times out, read the saved configuration before retrying.

Troubleshooting

Example HTTP 400 response when the selected settings record cannot be found:

{
"success": false,
"message": "Settings not found.",
"data": [],
"errorCode": 1306
}

HTTP status or issue

What to check

400 — One or more validation errors found.

Read JSON path data.errors. Use JSON true/false for the documented flags.

400 — Please provide a valid testResult value

Use testResult=1 to omit the Test Results list or 0 to include it.

400 — Please provide space information

Check projectKey on the read request, project/key on the update, and Jira space access.

401 — authentication failed

Check the base URL, raw API token, expiry, and connected Jira access.

403 — access denied

Updating needs Jira administrator or Jira space administrator permission. A blocked Vansah account is also denied.

503 — permission lookup unavailable

Retry after a short wait. Jira permissions could not be verified for the update.

400 — Settings not found., Failed to get Space Settings., or Failed to update Space Misc Settings.

Check the selected space. Read the configuration before retrying. Contact Vansah Support if the issue continues, without sharing your token.

Other settings disappeared

Compare the saved configuration with your backup. Restore the complete intended miscellaneous settings; omitted values were replaced rather than preserved.

Controller errors shown above use error code 1306. Permission lookup errors use 1400 and can return HTTP 401 or 403 when Jira rejects authorization, or HTTP 503 when the lookup is unavailable.

Did this answer your question?