Нотатка
Доступ до цієї сторінки потребує авторизації. Можна спробувати ввійти або змінити каталоги.
Доступ до цієї сторінки потребує авторизації. Можна спробувати змінити каталоги.
A Variable library lets you supply a value that differs per environment, instead of hard-coding a value that's correct in only one workspace. Wherever Fabric accepts a variable reference, it resolves that reference to a value before it uses it.
When Fabric can't resolve a reference, it doesn't substitute a value. Instead it reports a resolution status that says which part of the reference failed. This article explains each status and what to do about it.
How a reference is resolved
Resolving a reference happens in stages, and a failure at any stage stops the rest. Fabric does the following:
- Reads the reference and checks that it's well formed.
- Finds the variable library the reference names, and confirms you can read it.
- Finds the library's active value set.
- Finds the variable inside that value set.
- Checks that the variable's value type matches the type the reference asks for.
- If the value points at another item or a connection, resolves those details too.
The status you see tells you which of those stages failed, which is usually enough to identify the fix without inspecting the whole chain.
Reference resolution errors
These errors mean the reference itself, the variable library, or the variable couldn't be resolved.
| Message | What it means | How to fix it |
|---|---|---|
| Reference format is invalid | The reference isn't formatted correctly. | Correct the reference syntax. |
| Variable library reference is missing | The reference doesn't name a variable library. | Provide a complete reference that includes the library. |
| Variable library reference is ambiguous | More than one variable library matches the reference. | Make the reference more specific so it matches one library. |
| Type specification is not allowed | The reference specifies a type inline, and this reference doesn't support that. | Remove the inline type specification. |
| Variable library not found | The library doesn't exist, or you don't have permission to read it. | Check the reference, and check your access to the library. |
| Variable library is corrupted | The library can't be read. | This one isn't self-service. Contact support if it continues. |
| Active value set not found | The library's configured active value set doesn't exist. | Set an active value set that exists on the library. |
| Variable definition is invalid | One or more variable definitions in the library are invalid. | Correct the variable definitions in the library. |
| Variable override is invalid | One or more override values are invalid. | Correct the override values. |
| Variable not found | The library resolved, but it has no variable with that name. | Verify the variable name. A renamed variable is a common cause. |
| Variable type mismatch | The variable's value type isn't the type the reference asks for. | Change either the requested type or the variable's value. |
If you see a generic Couldn't resolve reference message instead of one of these, the failure couldn't be attributed to a specific stage. Retry, and if it persists, treat it as a service-side error rather than a problem with the reference.
Referenced item errors
These errors mean the reference resolved to a value, but the item or connection that the value points at couldn't be resolved. The reference is correct, so fix the target rather than the reference.
| Message | What it means | How to fix it |
|---|---|---|
| Referenced item not found | The item the value points at doesn't exist. | Confirm the item still exists, and that the value points at the right one. |
| Access to referenced item denied | The item exists, but you don't have read permission on it. | Request read access to the item. |
| Referenced connection not found or access denied | The connection doesn't exist, or you can't read it. | Check the connection and your access to it. |
| Something went wrong | The referenced item couldn't be resolved, and the cause isn't specific. | Retry. If it persists, treat it as a service-side error. |
Considerations
A few of these are worth knowing before you hit them:
- Permission failures and missing objects report the same way in some cases. "Variable library not found" and "Referenced connection not found or access denied" both cover the object not existing and you not being able to see it, because Fabric doesn't confirm the existence of something you can't read. Check your access before you conclude the object is gone.
- A reference that resolves for you might not resolve for someone else. Resolution depends on the permissions of whoever triggers it, so a reference that works during authoring can fail later when a different identity runs the same work.
- Renaming a variable breaks references to it. References are by name, so a rename surfaces as Variable not found rather than as a warning at rename time.