This resource represents field schemes which are replacing field configuration schemes to control field associations. They are currently in beta and only available to customers who have opted-in to the beta program. For more information see RFC-103: Jira Field Configuration Overhaul: Admin Experience and API Changes

Hierarchy

  • CommonHttpService
    • FieldSchemesService

Constructors

  • Internal

    Create a new instance of the service.

    Parameters

    • getClientInstance: (() => CommonHttpClient)
        • (): CommonHttpClient
        • Returns CommonHttpClient

    Returns FieldSchemesService

Methods

  • Associate projects to field association schemes.

    Permissions required: Administer Jira global permission.

    Parameters

    Returns Promise<WithResponse<{
        body: FieldSchemeToProjectsResponse;
        mediaType: "application/json";
        status: 200 | 207;
    } | {
        body: void;
        mediaType: "application/json";
        status: 204;
    }>>

    • status: 200, mediaType: application/json

      Returned if the association was successful.

      example:

      
      

    { "results": [ { "projectId": 10001, "schemeId": 10000, "success": true }, { "projectId": 10002, "schemeId": 10001, "success": true } ] }


    * status: 204, mediaType: application/json

    The request completed successfully. No additional content will be sent in the response.

    * status: 207, mediaType: application/json

    Returned if the association was partially successful.

    example:

    { "results": [ { "projectId": 10001, "schemeId": 10000, "success": true }, { "error": "Project #10001 doesn't exist", "projectId": 10002, "schemeId": 10001, "success": false } ] }

    
    

    PUT /rest/api/3/config/fieldschemes/projects @scopes-current manage:jira-configuration @scopes-beta write:field-configuration:jira

  • REST endpoint for retrieving a paginated list of field association schemes with optional filtering.

    This endpoint allows clients to fetch field association schemes with optional filtering by project IDs and text queries. The response includes scheme details with navigation links and filter metadata when applicable.

    Filtering Behavior:

    • When projectId or query parameters are provided, the response includes matchedFilters metadata showing which filters were applied.
    • When no filters are applied, matchedFilters is omitted from individual scheme objects

    Permissions required: Administer Jira global permission.

    Parameters

    • params: {
          maxResults?: number;
          projectId?: number[];
          query?: string;
          startAt?: number;
      } = {}
      • OptionalmaxResults?: number

        Maximum number of items to return per page (default: 50, max: 100)

      • OptionalprojectId?: number[]

        (optional) List of project IDs to filter schemes by. If not provided, schemes from all projects are returned.

      • Optionalquery?: string

        (optional) Text filter for scheme name or description matching (case-insensitive). If not provided, no text filtering is applied.

      • OptionalstartAt?: number

        Zero-based index of the first item to return (default: 0)

    Returns Promise<PageBean2GetFieldAssociationSchemeResponse>

    Pagianted list of field association schemes

    example:

    {
    "description": "Field Association Scheme test description",
    "id": 1000,
    "isDefault": false,
    "links": {
    "associations": "rest/api/3/config/fieldschemes/10000/associations",
    "projects": "rest/api/3/config/fieldschemes/10000/projects"
    },
    "matchedFilters": {
    "projectIds": [
    10001,
    10002
    ],
    "query": "query"
    },
    "name": "Field Association Scheme test name"
    }

    GET /rest/api/3/config/fieldschemes @scopes-current manage:jira-configuration @scopes-beta read:field-configuration-scheme:jira

  • Get projects with field association schemes. This will be a temporary API but useful when transitioning from the legacy field configuration APIs to the new ones.

    Permissions required: Administer Jira global permission.

    Parameters

    • params: {
          maxResults?: number;
          projectId: number[];
          startAt?: number;
      }
      • OptionalmaxResults?: number

        The maximum number of projects to return per page, maximum allowed value is 100.

      • projectId: number[]

        List of project ids to filter the results by.

      • OptionalstartAt?: number

        The starting index of the returned projects. Base index: 0.

    Returns Promise<PageBean2GetProjectsWithFieldSchemesResponse>

    Returns the list of project with field association schemes.

    example:

    {
    "isLast": true,
    "maxResults": 3,
    "startAt": 0,
    "total": 3,
    "values": [
    {
    "projectId": 10000,
    "schemeId": 1
    },
    {
    "projectId": 10001,
    "schemeId": 1
    },
    {
    "projectId": 10002,
    "schemeId": 2
    }
    ]
    }

    GET /rest/api/3/config/fieldschemes/projects @scopes-current manage:jira-configuration @scopes-beta read:field-configuration-scheme:jira

  • Remove field association parameters overrides for work types.

    Permissions required: Administer Jira global permission.

    Parameters

    • params: {
          requestBody: {
              [key: string]: ParameterRemovalDetails[];
          };
      }
      • requestBody: {
            [key: string]: ParameterRemovalDetails[];
        }
        {
        "customfield_10000": [
        {
        "parameters": [
        "description",
        "isRequired"
        ],
        "schemeId": 10000,
        "workTypeIds": [
        1,
        2
        ]
        }
        ],
        "description": [
        {
        "parameters": [
        "description"
        ],
        "schemeId": 10001,
        "workTypeIds": [
        3
        ]
        }
        ]
        }

    Returns Promise<WithResponse<{
        body: void;
        mediaType: "application/json";
        status: 204;
    } | {
        body: RemoveFieldParametersResult;
        mediaType: "application/json";
        status: 207;
    }>>

    • status: 204, mediaType: application/json

      The request completed successfully. No additional content will be sent in the response.

    • status: 207, mediaType: application/json

      Returned if the removal was partially successful.

      example:

      
      

    { "results": [ { "error": { "code": "FIELD_IS_NOT_ASSOCIATED", "message": "The field 'customfield_10000' is not associated with the scheme '10000'." }, "fieldId": "customfield_10000", "schemeId": 10000, "success": false, "workTypeIds": [ 1, 2 ] }, { "fieldId": "description", "schemeId": 10001, "success": true, "workTypeIds": [ 3 ] } ] }

    
    

    DELETE /rest/api/3/config/fieldschemes/fields/parameters @scopes-current manage:jira-configuration @scopes-beta write:field-configuration:jira

  • Remove fields associated with field association schemes.

    Permissions required: Administer Jira global permission.

    Parameters

    Returns Promise<WithResponse<{
        body: MinimalFieldSchemeToFieldsResponse;
        mediaType: "application/json";
        status: 200 | 207;
    } | {
        body: void;
        mediaType: "application/json";
        status: 204;
    }>>

    • status: 200, mediaType: application/json

      Returned if the field association update was successful.

      example:

      
      

    { "results": [ { "fieldId": "customfield_10000", "schemeId": 10000, "success": true }, { "fieldId": "customfield_10001", "schemeId": 10002, "success": true } ] }


    * status: 204, mediaType: application/json

    The request completed successfully. No additional content will be sent in the response.

    * status: 207, mediaType: application/json

    Returned if the field association update was partially successful.

    example:

    { "results": [ { "fieldId": "customfield_10000", "schemeId": 10000, "success": true }, { "error": "Scheme 10001 doesn't exist", "fieldId": "customfield_10001", "schemeId": 10001, "success": false } ] }

    
    

    DELETE /rest/api/3/config/fieldschemes/fields @scopes-current manage:jira-configuration @scopes-beta write:field-configuration:jira

  • Search for fields belonging to a given field association scheme.

    Permissions required: Administer Jira global permission.

    Parameters

    • params: {
          fieldId?: string[];
          id: number;
          maxResults?: number;
          startAt?: number;
      }
      • OptionalfieldId?: string[]

        The field IDs to filter by, if empty then all fields belonging to a field association scheme will be returned

      • id: number

        The scheme ID to search for child fields

      • OptionalmaxResults?: number

        The maximum number of fields to return per page, maximum allowed value is 100.

      • OptionalstartAt?: number

        The starting index of the returned fields. Base index: 0.

    Returns Promise<PageBean2FieldAssociationSchemeFieldSearchResult>

    Returns the matching fields, at the specified page of the results.

    example:

    {
    "allowedOperations": [
    "REMOVE",
    "CHANGE_REQUIRED",
    "CHANGE_DESCRIPTION"
    ],
    "fieldId": "customfield_10000",
    "parameters": {
    "description": "text",
    "isRequired": true
    },
    "restrictedToWorkTypes": [
    "1",
    "2"
    ],
    "workTypeParameters": [
    {
    "description": "text",
    "isRequired": true,
    "workTypeId": "1"
    },
    {
    "description": "textarea",
    "isRequired": false,
    "workTypeId": "2"
    }
    ]
    }

    GET /rest/api/3/config/fieldschemes/{id}/fields @scopes-current manage:jira-configuration @scopes-beta read:field-configuration:jira

  • Update field association item parameters in field association schemes.

    Permissions required: Administer Jira global permission.

    Parameters

    • params: {
          requestBody: {
              [key: string]: UpdateFieldSchemeParametersRequest[];
          };
      }
      • requestBody: {
            [key: string]: UpdateFieldSchemeParametersRequest[];
        }

        The request containing the field association scheme id and the parameters to update.

        {
        "customfield_10000": [
        {
        "parameters": {
        "description": "Field description",
        "isRequired": true
        },
        "schemeIds": [
        10000,
        10001
        ],
        "workTypeParameters": [
        {
        "description": "Description for Bug",
        "isRequired": false,
        "workTypeId": 10002
        }
        ]
        }
        ],
        "customfield_10001": [
        {
        "schemeIds": [
        10001
        ],
        "workTypeParameters": [
        {
        "description": "Description for Bug",
        "isRequired": false,
        "workTypeId": 10002
        },
        {
        "description": "Description for Task",
        "isRequired": true,
        "workTypeId": 10003
        }
        ]
        }
        ]
        }

    Returns Promise<WithResponse<{
        body: UpdateFieldSchemeParametersResponse;
        mediaType: "application/json";
        status: 200 | 207;
    } | {
        body: void;
        mediaType: "application/json";
        status: 204;
    }>>

    • status: 200, mediaType: application/json

      Returned if the field parameter update was successful.

      example:

      
      

    { "results": [ { "fieldId": "customfield_10000", "schemeId": 10000, "success": true }, { "fieldId": "customfield_10001", "schemeId": 10002, "success": true, "workTypeId": 10001 } ] }


    * status: 204, mediaType: application/json

    The request completed successfully. No additional content will be sent in the response.

    * status: 207, mediaType: application/json

    Returned if the field parameter update was partially successful.

    example:

    { "results": [ { "fieldId": "customfield_10000", "schemeId": 10000, "success": true }, { "error": "Scheme 10001 doesn't exist", "fieldId": "customfield_10001", "schemeId": 10001, "success": false, "workTypeId": 10001 } ] }

    
    

    PUT /rest/api/3/config/fieldschemes/fields/parameters @scopes-current manage:jira-configuration @scopes-beta write:field-configuration:jira

  • Update fields associated with field association schemes.

    Permissions required: Administer Jira global permission.

    Parameters

    Returns Promise<WithResponse<{
        body: FieldSchemeToFieldsResponse;
        mediaType: "application/json";
        status: 200 | 207;
    } | {
        body: void;
        mediaType: "application/json";
        status: 204;
    }>>

    • status: 200, mediaType: application/json

      Returned if the field association update was successful.

      example:

      
      

    { "results": [ { "fieldId": "customfield_10000", "schemeId": 10000, "success": true, "workTypeIds": [ 1, 2 ] }, { "fieldId": "customfield_10001", "schemeId": 10002, "success": true, "workTypeIds": [] } ] }


    * status: 204, mediaType: application/json

    The request completed successfully. No additional content will be sent in the response.

    * status: 207, mediaType: application/json

    Returned if the field association update was partially successful.

    example:

    { "results": [ { "fieldId": "customfield_10000", "schemeId": 10000, "success": true, "workTypeIds": [ 1 ] }, { "error": "Scheme 10001 doesn't exist", "fieldId": "customfield_10001", "schemeId": 10001, "success": false, "workTypeIds": [ 2 ] } ] }

    
    

    PUT /rest/api/3/config/fieldschemes/fields @scopes-current manage:jira-configuration @scopes-beta write:field-configuration:jira

  • Method to initialize the class. Normally used to set up validation rules.

    Returns void