A workspace in Tag Manager is a place to work on a set of changes that will become a version. Create a new workspace when you want to develop and test tag configurations separately from your main. Enter your username Remember this setting Next.
Workspace Manager API service exposes the API to create, read, update and delete the workspaces. Sample use cases for the Workspace Manager API include:
- creating a new workspace;
- modifying the workspace information;
- retrieving information about the workspace.
You can also use the Workspace Manager service through the REST API. For more information, see Workspace Manager service.
This page contains the following information:
Field Permissions
Secured Fields
It's possible for a client of this API to be able read and write some, but not all, fields of the workspace. This is achieved through the Securable<T> type. Instances of that type have the properties Secured (bool) and Value (T). If Secured is true, the user does not have access to the contents of the field for either read and/or write.
Below is a guide to how permissions dictate which fields are secured per endpoint.
Field | Create | Update | Read |
Instance - Object - Matter - View | Instance - Object - Matter - View | Instance - Object - Matter - View | |
Client Number | N/A | N/A | Instance - Object - Client - View |
ProductionRestrictions | N/A | Workspace - Object Search - View | Workspace - Object Search - View |
ResourcePool | Instance - Object - Resource Pool - View | Instance - Object - Resource Pool - View | Instance - Object - Resource Pool - View |
DefaultFileRepository | Instance - Object - Resource Server - View | Instance - Object - Resource Server - View | Instance - Object - Resource Server - View |
DataGridFileRepository | Instance - Object - Resource Server - View | Instance - Object - Resource Server - View | Instance - Object - Resource Server - View |
DefaultCacheLocation | Instance - Object - Resource Server - View | Instance - Object - Resource Server - View | Instance - Object - Resource Server - View |
SqlServer | Instance - Object - Resource Server - View | Instance - Object - Resource Server - View | Instance - Object - Resource Server - View |
AzureCredentials | Instance - Object - Credential - View | Instance - Object - Credential - View | Instance - Object - Credential - View |
AzureFileSystemCredentials | Instance - Object - Credential - View | Instance - Object - Credential - View | Instance - Object - Credential - View |
Template | Instance - Object - Workspace - View | N/A | N/A |
WorkspaceAdminGroup | Instance - Object - Credential - View | N/A | Instance - Object - Credential - Group |
Read-Only Fields
A user may have permission to view a field but not update or delete it. If this is the case, the field name will be included in the read-only list in the metadata. Examples include the following:
Client
Matter
Workspace Admin Group
Cancellation and progress
The Create, Update and all Query endpoints offer overloads that employ cancellation and progress functionality. Documentation, including code samples, for those features is available within the Kepler framework section.
Fundamentals for managing Workspaces
In order to use V1 Workspace Manager endpoints, you need to import the Relativity.Environment.SDK package. You'll find workspace manager inferace under the Relativity.Environment.V1.Workspace namespace.
To setup a proxy to interact with the IWorkspaceManager API, call the CreateProxy() method on the object returned by the GetServiceManager() method. For more information, check out Best Practices for the Services API.
Create a Proxy using CreateProxy()
Classes
The Workspace Manager API exposes the following classes available in the Relativity.Environment.V1.Workspace.Models namespace:
WorkspaceRequest class - represents a request for creating or updating a workspace. The class contains the following fields:
DownloadHandlerUrl: string - represents the default URL for making downloaded files available to users. This field is required.
EnableDataGrid: bool - whether the workspace can have fields that save to Data Grid. This field cannot be set during Create request.
Matter: Securable<ObjectIdentifier> - represents the case or legal action associated with the workspace. This field is required.
Name: string - represents the name of the workspace. This field is required.
ProductionRestrictions: Securable<ObjectIdentifier> - represents the saved search used to exclude documents from new production sets. This field cannot be set during Create request.
ResourcePool: Securable<ObjectIdentifier> - represents the resource pool used by the workspace for the other resource-related fields. This field is required.
DefaultFileRepository: Securable<ObjectIdentifier> - represents the file repository for the physical location of the files, including document natives and images). This field is required.
DataGridFileRepository: Securable<ObjectIdentifier> - represents the file repository for the physical location of the text files used by Data Grid.
DefaultCacheLocation: Securable<ObjectIdentifier> - represents the Cache Location Server where the natives, images, productions and other types used by the viewer are temporarily stored. This field is required.
SqlServer: Securable<ObjectIdentifier> - represents the SQL server where the workspace database is stored. This field is required.
AzureCredentials: Securable<ObjectIdentifier> - represents Azure credentials for the workspace. This field is required if CredentialEnableAzure setting is set to true.
AzureFileSystemCredentials: Securable<ObjectIdentifier> - represents Azure File System credentials for the workspace. This field is required if CredentialEnableAzureFileSystem setting is set to true.
SqlFullTextLanguage: int - represents ID of the language used for determining the correct word-break characters used in the full text index inside the workspace. This field is required.
Status: ObjectIdentifier - represents the status of the workspace which can be added to views for filtering workspaces. This field is required.
Template: Securable<ObjectIdentifier> - represents an existing workspace structure used to create the workspace. This field can be specified only during Create request.
WorkspaceAdminGroup: Securable<ObjectIdentifier> - represents the group selected as admin for the workspace. This field cannot be set during Create request.
WorkspaceResponse class - represents the results of a read operation on a workspace. The class contains the following fields:
Client: Securable<DisplayableObjectIdentifier> - represents the client associated with the workspace.
ClientNumber: Securable<string> - represents the number of the client associated with the workspace.
DownloadHandlerUrl: string - represents the default URL for making downloaded files available to users.
EnableDataGrid: bool - whether the workspace can have fields that save to Data Grid.
Matter: Securable<DisplayableObjectIdentifier> - represents the case or legal action associated with the workspace.
MatterNumber: Securable<string> - represents the number of matter associated with the workspace.
ProductionRestrictions: Securable<DisplayableObjectIdentifier> - represents the saved search used to exclude documents from new production sets.
ResourcePool: Securable<DisplayableObjectIdentifier> - represents the resource pool used by the workspace for the other resource-related fields.
DefaultFileRepository: Securable<DisplayableObjectIdentifier> - represents the file repository for the physical location of the files, including document natives and images).
DataGridFileRepository: Securable<DisplayableObjectIdentifier> - represents the file repository for the physical location of the text files used by Data Grid.
DefaultCacheLocation: Securable<DisplayableObjectIdentifier> - represents the Cache Location Server where the natives, images, productions and other types used by the viewer are temporarily stored.
SqlServer: Securable<DisplayableObjectIdentifier> - represents the SQL server where the workspace database is stored.
AzureCredentials: Securable<DisplayableObjectIdentifier> - represents Azure credentials for the workspace.
AzureFileSystemCredentials: Securable<DisplayableObjectIdentifier> - represents Azure File System credentials for the workspace.
SqlFullTextLanguage: NameIDPair - represents ID and name of the language used for determining the correct word-break characters used in the full text index inside the workspace.
Status: DisplayableObjectIdentifier - represents the status of the workspace which can be added to views for filtering workspaces.
WorkspaceAdminGroup: Securable<DisplayableObjectIdentifier> - represents the group selected as admin for the workspace.
Keywords: string - represents any keywords associated with the workspace.
Notes: string - represents an optional description or other information about the workspace.
CreatedOn: DateTime - represents date and time when the workspace was added to Relativity.
CreatedBy: DisplayableObjectIdentifier - represents the user who created the workspace.
LastModifiedBy: DisplayableObjectIdentifier - represents the user who recently updated the workspace.
LastModifiedOn: DateTime - represents date and time when the workspace was most recently updated.
Meta: Meta - represents a list of unsupported and read-only properties on the current workspace.
Actions: List<Action> - represents a list of RESTful operations that a user has permissions to perform on the artifact.
SqlFullTextLanguageOptions class - represents the default and available SQL full text language options for the workspace. The class contains the following fields:
DefaultLanguageLcid: int - represents the ID of default language.
Languages: List<NameIDPair> - represents the available languages.
WorkspaceSummary class - represents the statistics about the workspace. The class contains the following fields:
DocumentCount: long - represents the count of documents in the workspace.
FileSize: long - represents the size of workspace files.
Methods
The Workspace Manager API exposes the following methods on the Relativity.Environment.V1.Workspace namespace:
CreateAsync() method - adds a new workspace. Its parameter is the WorkspaceRequest object which describes the workspace to create. It returns the WorkspaceResponse object which contains information about the created workspace.
ReadAsync() method - retrieves information about the workspace. Its parameter is the Artifact ID of the workspace. It returns the WorkspaceResponse object which contains information about the workspace.
UpdateAsync() method - modifies workspace information. Its parameters are the Artifact ID of the workspace and the WorkspaceRequest object. It returns the WorkspaceResponse object which contains information about the modified workspace.
DeleteAsync() method - deletes the workspace from the system. Its parameter is the Artifact ID of the workspace.
GetMetaAsync() method - retrieves a list of unsupported WorkspaceRequest fields for Create operation.
GetDefaultDownloadHandlerURLAsync() method - returns the Default Download Handler URL. This method does not take any parameters.
QueryWorkspaceByGroupAsync() method - retrieves information about the workspaces that are related to a given group. The parameters are QueryRequest object, start index and count of workspaces to return, and the Artifact ID of the group. This method returns the QueryResultSlim object.
GetEligibleResourcePoolsAsync() method - retrieves a list of resource pools that are eligible for a workspace's ResourcePool property. This method doesn't take any parameter. It returns a list of DisplayableObjectIdentifier objects that describe the eligible resource pools.
GetEligibleFileRepositoriesAsync() method - retrieves a list of file repository servers that are eligible for a workspace's DefaultFileRepository and DataGridRepository properties. Its parameter is the Artifact ID of the resource pool. It returns a list of DisplayableObjectIdentifier objects that describe file repository servers in the provided resource pool.
GetEligibleCacheLocationsAsync() method - retrieves a list of cache locations that are eligible for a workspace's DefaultCacheLocation property. Its parameter is the Artifact ID of the resource pool. It returns a list of DisplayableObjectIdentifier objects that describe cache locations in the provided resource pool.
GetEligibleSqlServersAsync() method - retrieves a list of SQL servers that are eligible for a workspace's SqlServer property. Its parameter is the Artifact ID of the resource pool. It returns a list of DisplayableObjectIdentifier objects that describe SQL servers in the provided resource pool.
GetEligibleAzureCredentialsAsync() method - retrieves a list of Azure credentials that are eligible for a workspace's AzureCredentials property. Its parameter is the Artifact ID of the resource pool. It returns a list of DisplayableObjectIdentifier objects that describe Azure credentials in the provided resource pool.
GetEligibleAzureFileSystemCredentialsAsync() method - retrieves a list of Azure Filesystem Credentials that are eligible for a workspace's AzureFileSystemCredentials property. Its parameter is the Artifact ID of the resource pool. It returns a list of DisplayableObjectIdentifier objects that describe Azure filesystem credentials in the provided resource pool.
QueryEligibleClientsAsync() method - retrieves a list of clients that are eligible for a workspace's Client property. Its parameters are QueryRequest object, start index and count of clients to return. It returns the QueryResultSlim object that describes the eligible clients.
QueryEligibleGroupsAsync() method - retrieves a list of groups that are eligible to be members of a workspace. Its parameters are QueryRequest object, start index and count of groups to return. It returns the QueryResultSlim object that describes the eligible groups.
QueryEligibleMattersAsync() method - retrieves a list of matters that are eligible for a workspace's Matter property. Its parameters are QueryRequest object, start index and count of matters to return. It returns the QueryResultSlim object that describes the eligible matters.
QueryEligibleSavedSearchesAsync() method - retrieves a list of saved searches that are eligible for a workspace's ProductionRestrictions property. Its parameters are QueryRequest object, start index, count of saved searches to returns, and the Artifact ID of the workspace. It returns the QueryResultSlim object that describes the eligible saved searches.
QueryEligibleTemplatesAsync() method - retrieves a list of workspaces that are eligible for a new workspace's Template property. Its parameters are QueryRequest object, start index and count of workspaces to return, It returns the QueryResultSlim object that describes the eligible workspaces.
GetEligibleSqlFullTextLanguagesAsync() method - retrieves a list of eligible languages for workspace's SqlFullTextLanguage property. This method does not take any parameters. It returns the SqlFullTextLanguageOptions object that describes the eligible and default languages.
GetEligibleStatusesAsync() method - retrieves a list of choices that are eligible for a workspace's Status property. This method does not take any parameters. It returns a list of DisplayableObjectIdentifier objects that describe the eligible statuses.
RetryFailedCreateEventHandlersAsync() method - retries failed Create Event Handlers for the specified workspace. Its parameter is the Artifact ID of the workspace. This method does not return a value.
GetWorkspaceSummaryAsync() method - retrieves statistics summary about the workspaces. Its parameter is the Artifact ID of the workspace. It returns the WorkspaceSummary object that contains the summary for a given workspace.
Community Updates | |||
Aero Developer FAQ | Evolving the Platform | Most recent release notes | |
Learn more | Learn more | Learn more |
Additional Resources | |||
Access Third-Party Tools with GitHub | Create .NET Apps Faster with NuGet | ||
Visit github | visit nuget |
The following plugin provides functionality available throughPipeline-compatible steps. Read more about how to integrate steps into yourPipeline in theStepssection of thePipeline Syntaxpage.
For a list of other such plugins, see thePipeline Steps Referencepage.
- External Workspace Manager Plugin
Workspace Manager Windows 10
External Workspace Manager Plugin
exws
: Use external workspace
Workspace Manager Oracle
Based on the input parameter, it defines the local path to the workspace, and switches to it. The complete workspace path follows the pattern:/nodeMountPoint/physicalPathOnDisk/$JOB_NAME/$BUILD_NUMBER
where- nodeMountPoint is defined either in the Node configuration, External Workspace section, or in the Jenkins global config, the External Workspace Template section. Firstly it searches for the disk definition in the Jenkins global config (the Template lookup is done based on the Node label parameter), then it fallbacks to searching in the Node configuration.
- physicalPathOnDisk is defined in the Jenkins global config, the External Workspace Definitions section.
externalWorkspace
The object returned by the exwsAllocate step.
Basic usage:
- Type:
class org.jenkinsci.plugins.ewm.model.ExternalWorkspace
- Type:
Workspace Manager Mac
exwsAllocate
: Allocate external workspace
Allocates a disk from the given Disk Pool Ref ID. By default, the disk with the most available space is selected. On that disk, it computes the workspace path based on the formula: physicalPathOnDisk/$JOB_NAME/$BUILD_NUMBER, where physicalPathOnDisk is defined in the Jenkins global config, External Workspace Definitions section.
If you provide the Upstream parameter, then the Disk Pool Ref ID parameter will be ignored. In this case, the step will allocate the same workspace as used by its upstream job. By default, it will select the workspace used by the last stable build from the upstream job.
diskPoolId
The reference to the Disk Pool ID defined in the Jenkins global config.- Type:
String
- Type:
path
(optional)The workspace path on the Disk can be configured within the Build DSL. If the path parameter is provided, the exwsAllocate step will allocate this workspace path on the Disk. If it's not provided, the exwsAllocate step will fallback to using the Workspace path template parameter defined in the Jenkins global config, External Workspace Definitions section, if any.
Basic Pipeline example:
Note: It's recommended to use ${ } for variable declaration, instead of standalone $ symbol, as shown in the examples.
- Type:
String
- Type:
selectedRun
(optional)If you provide this parameter, the exwsAllocate step will allocate the first workspace used by the selected run.
This is a RunWrapper object. You can get a reference by using the runSelector step from the Run Selector Plugin.
Basic usage example:
- Type:
class org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper
- Type:
strategy
(optional)Provide Disk allocation strategy as step parameter. This will override the strategy defined in the Jenkins global config.
Note: Some Disk allocation strategies may require additional information to be provided. For example, if you choose the fastest read/write speed strategy, then you must provide, for each disk, its read/write speeds. These values should be set in the Disk Information section, for each Disk entry from the Jenkins global config.
- Nested Choice of Objects
fastestReadSpeed
estimatedWorkspaceSize
(optional)Optional parameter. It indicates the estimated size that the workspace may have. It has to be in MB.
If provided, the Disk allocation strategy ensures that the selected disk has at least as much usable space left as the estimated workspace size.
For example, let's suppose we want to select the disk with the highest read speed, but that has a minimum usable space of 100 MB. The Pipeline code for that is:
- Type:
long
- Type:
fastestWriteSpeed
estimatedWorkspaceSize
(optional)Optional parameter. It indicates the estimated size that the workspace may have. It has to be in MB.
If provided, the Disk allocation strategy ensures that the selected disk has at least as much usable space left as the estimated workspace size.
For example, let's suppose we want to select the disk with the highest read speed, but that has a minimum usable space of 100 MB. The Pipeline code for that is:
- Type:
long
- Type:
mostUsableSpace
estimatedWorkspaceSize
(optional)Optional parameter. It indicates the estimated size that the workspace may have. It has to be in MB.
If provided, the Disk allocation strategy ensures that the selected disk has at least as much usable space left as the estimated workspace size.
For example, let's suppose we want to select the disk with the highest read speed, but that has a minimum usable space of 100 MB. The Pipeline code for that is:
- Type:
long
- Type:
Please submit your feedback about this page through thisquick form.
Alternatively, if you don't wish to complete the quick form, you can simplyindicate if you found this page helpful?
Workspace Manager Jobs
See existing feedback here.