Atlassian Jira Expressions API

The Jira Expressions API from Atlassian — 2 operation(s) for jira expressions.

Documentation

📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-addon/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-webhooks/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-pullrequests/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-repositories/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-snippets/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-workspaces/
📖
Documentation
https://developer.atlassian.com/cloud/bitbucket/rest/api-group-users/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-analytics/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-audit/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/connect-modules/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v2/intro/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-content-body/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-content-states/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-group/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-inline-tasks
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-content-labels/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-long-running-task/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-relation/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-search/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-settings/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-space/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v1/api-group-template/
📖
Documentation
https://developer.atlassian.com/cloud/confluence/rest/v2/api-group-user/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-announcement-banner/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-custom-field-values--apps-/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-app-openapi
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-application-roles/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-attachments/
📖
Documentation
https://developer.atlassian.com/server/framework/atlassian-sdk/audit/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-avatars/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-classification-levels/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-comments/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-components/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-jira-settings/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/getting-started-with-connect/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/connect-api-migration/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-service-registry/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-custom-field-options/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-dashboards/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/data-security-policy-developer-guide/
📖
Documentation
https://developer.atlassian.com/platform/forge/events-reference/jira/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-jira-expressions/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-fields/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-field-configurations/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-filters/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/forge/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-groups/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-group-and-user-picker/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-groups/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-links/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-security-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-types/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-type-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-type-screen-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-search/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-labels/
📖
Documentation
https://developer.atlassian.com/platform/marketplace/license-api-for-cloud-apps/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-license-metrics/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permissions/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-myself/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-notification-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-permission-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-priorities/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-categories/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-key-and-name-validation/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-resolutions/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-project-roles/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-screens/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-screen-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-security-level/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-server-info/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-statuses/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-status-categories/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-ui-modifications--apps-/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-avatars/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-users/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-versions/
📖
Documentation
https://developer.atlassian.com/server/jira/platform/webhooks/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflows/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-workflow-schemes/
📖
Documentation
https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-worklogs/
📖
Documentation
https://developer.atlassian.com/cloud/admin/organization/rest/
📖
Documentation
https://developer.atlassian.com/cloud/admin/user-management/rest/
📖
Documentation
https://developer.atlassian.com/cloud/admin/user-provisioning/rest/

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-hook-events-paginated_hook_events-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-pull-requests-a_pullrequest_comment_task-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-repositories-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-snippets-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-teams-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-user-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-bitbucket-workspaces-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-audit-audit-record-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-content-async-content-body-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-content-body-async-content-body-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-content-states-async-id-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-group-group-array-with-links-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-inline-tasks-task-page-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-longtask-long-task-status-with-links-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-relation-relation-data-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-search-search-page-response-search-result-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-settings-look-and-feel-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-space-content-state-settings-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-template-blueprint-template-array-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-confluence-user-account-id-email-record-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-schema/atlassian-admin-domain-page-schema.json

Other Resources

🔗
GraphQL
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/graphql/atlassian-graphql.md
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-hook-events-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-pull-requests-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-repositories-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-snippets-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-teams-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-user-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-bitbucket-workspaces-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-audit-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-content-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-content-body-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-content-states-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-group-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-inline-tasks-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-longtask-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-relation-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-search-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-settings-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-space-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-template-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-confluence-user-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/json-ld/atlassian-admin-context.jsonld

OpenAPI Specification

atlassian-jira-expressions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Atlassian Admin Account Jira Expressions API
  description: The Atlassian Admin API provides programmatic access to manage Atlassian organizations, users, domains, policies, and events. It enables administrators to automate organization management tasks, integrate with identity providers, and ensure appropriate access to Atlassian products.
  version: 1.0.0
  contact:
    name: Atlassian Developer
    url: https://developer.atlassian.com/cloud/admin/
  license:
    name: Atlassian Developer Terms
    url: https://developer.atlassian.com/platform/marketplace/atlassian-developer-terms/
  x-logo:
    url: https://wac-cdn.atlassian.com/assets/img/favicons/atlassian/favicon.png
servers:
- url: https://api.atlassian.com
  description: Atlassian Cloud API
security:
- bearerAuth: []
- oauth2: []
tags:
- name: Jira Expressions
paths:
  /rest/api/3/expression/analyse:
    post:
      deprecated: false
      description: 'Analyses and validates Jira expressions.<br><br>As an experimental feature, this operation can also attempt to type-check the expressions.<br><br>Learn more about Jira expressions in the [documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).<br><br>**[Permissions](#permissions) required**: None.'
      operationId: atlassianAnalyseexpression
      parameters:
      - description: "The check to perform:\n\n *  `syntax` Each expression's syntax is checked to ensure the expression can be parsed. Also, syntactic limits are validated. For example, the expression's length.\n *  `type` EXPERIMENTAL. Each expression is type checked and the final type of the expression inferred. Any type errors that would result in the expression failure at runtime are reported. For example, accessing properties that don't exist or passing the wrong number of arguments to functions. Also performs the syntax check.\n *  `complexity` EXPERIMENTAL. Determines the formulae for how many [expensive operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) each expression may execute."
        in: query
        name: check
        schema:
          default: syntax
          enum:
          - syntax
          - type
          - complexity
          type: string
      requestBody:
        content:
          application/json:
            example:
              contextVariables:
                listOfStrings: List<String>
                record: '{ a: Number, b: String }'
                value: User
              expressions:
              - issues.map(issue => issue.properties['property_key'])
            schema:
              $ref: '#/components/schemas/JiraExpressionForAnalysis'
        description: The Jira expressions to analyse.
        required: true
      responses:
        '200':
          content:
            application/json:
              example: '{"results":[{"expression":"analysed expression","errors":[{"line":1,"column":4,"message":"!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, TEMPLATE_LITERAL, new, [ or { expected, > encountered.","type":"syntax"},{"message":"Jira expression is too long (1040), limit: 1000 characters","type":"other"},{"message":"Jira expression has too many nodes (150), limit: 100 leaves","type":"other"}],"valid":false},{"expression":"issues.map(i => {idAndKey: [i.id, i.key], summary: i.summary, comments: i.comments})","valid":true,"type":"List<{idAndKey: [Number, String], summary: String, comments: List<Comment>}>","complexity":{"expensiveOperations":"N","variables":{"N":"issues"}}},{"expression":"issues.map(i => i.id > ''0'')","errors":[{"expression":"i.id > 0","message":"Can''t compare Number to String.","type":"type"}],"valid":false,"type":"TypeError"}]}'
              schema:
                $ref: '#/components/schemas/JiraExpressionsAnalysis'
          description: Returned if the request is successful.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: 400 response
        '401':
          description: Returned if the authentication credentials are incorrect or missing.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: 404 response
      security:
      - basicAuth: []
      - OAuth2:
        - read:jira-work
        - read:jira-user
      - {}
      summary: Atlassian Analyse Jira Expression
      tags:
      - Jira Expressions
      x-atlassian-data-security-policy:
      - app-access-rule-exempt: true
      x-atlassian-oauth2-scopes:
      - scheme: OAuth2
        scopes:
        - read:jira-work
        - read:jira-user
        state: Current
      - scheme: OAuth2
        scopes:
        - read:field:jira
        - read:jira-expressions:jira
        state: Beta
      x-atlassian-connect-scope: READ
  /rest/api/3/expression/eval:
    post:
      deprecated: false
      description: 'Evaluates a Jira expression and returns its value.<br><br>This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible way. Consult the [Jira expressions documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.<br><br>#### Context variables ####<br><br>The following context variables are available to Jira expressions evaluated by this resource. Their presence depends on various factors; usually you need to manually request them in the context object sent in the payload, but some of them are added automatically under certain conditions.<br><br> *  `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The current user. Always available and equal to `null` if the request is anonymous.<br> *  `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request. Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).<br> *  `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The current issue. Available only when the issue is provided in the request context object.<br> *  `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A collection of issues matching a JQL query. Available only when JQL is provided in the request context object.<br> *  `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)): The current project. Available only when the project is provided in the request context object.<br> *  `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)): The current sprint. Available only when the sprint is provided in the request context object.<br> *  `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The current board. Available only when the board is provided in the request context object.<br> *  `serviceDesk` ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)): The current service desk. Available only when the service desk is provided in the request context object.<br> *  `customerRequest` ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)): The current customer request. Available only when the customer request is provided in the request context object.<br><br>Also, custom context variables can be passed in the request with their types. Those variables can be accessed by key in the Jira expression. These variable types are available for use in a custom context:<br><br> *  `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user) specified as an Atlassian account ID.<br> *  `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue) specified by ID or key. All the fields of the issue object are available in the Jira expression.<br> *  `json`: A JSON object containing custom content.<br> *  `list`: A JSON list of `user`, `issue`, or `json` variable types.<br><br>This operation can be accessed anonymously.<br><br>**[Permissions](#permissions) required**: None. However, an expression may return different results for different users depending on their permissions. For example, different users may see different comments on the same issue.  <br>Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or fields (for example, `issue.sprint`).'
      operationId: atlassianEvaluatejiraexpression
      parameters:
      - description: Use [expand](#expansion) to include additional information in the response. This parameter accepts `meta.complexity` that returns information about the expression complexity. For example, the number of expensive operations used by the expression and how close the expression is to reaching the [complexity limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing and debugging your expressions.
        in: query
        name: expand
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              context:
                board: 10100
                custom:
                  config:
                    type: json
                    value:
                      userId: '10002'
                  issuesList:
                  - key: ACJIRA-1471
                    type: issue
                  - id: 100001
                    type: issue
                  myUser:
                    accountId: '100001'
                    type: user
                  nullField:
                    type: json
                customerRequest: 1450
                issue:
                  key: ACJIRA-1470
                issues:
                  jql:
                    maxResults: 100
                    query: project = HSP
                    startAt: 0
                    validation: strict
                project:
                  key: ACJIRA
                serviceDesk: 10023
                sprint: 10001
              expression: '{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link => link.linkedIssue.id), listCustomVariable: issuesList.includes(issue), customVariables: myUser.accountId == config.userId}'
            schema:
              $ref: '#/components/schemas/JiraExpressionEvalRequestBean'
        description: The Jira expression and the evaluation context.
        required: true
      responses:
        '200':
          content:
            application/json:
              example: '{"value":"The expression''s result. This value can be any JSON, not necessarily a String","meta":{"complexity":{"steps":{"value":1,"limit":10000},"expensiveOperations":{"value":3,"limit":10},"beans":{"value":0,"limit":1000},"primitiveValues":{"value":1,"limit":10000}},"issues":{"jql":{"startAt":0,"maxResults":1000,"count":140,"totalCount":140,"validationWarnings":["There is a problem with the JQL query."]}}}}'
              schema:
                $ref: '#/components/schemas/JiraExpressionResult'
          description: Returned if the evaluation results in a value. The result is a JSON primitive value, list, or object.
        '400':
          content:
            application/json:
              example: '{"errorMessages":["Evaluation failed: \"issue[''a'' + ''b'']\" - Unrecognized property of `issue`: \"ab\" (''a'' + ''b''). Available properties of type ''Issue'' are: ''assignee'', ''comments'', ''description'', ''id'', ''issueType'', ''key'', ''priority'', ''project'', ''properties'', ''reporter'', ''status'', ''summary''"],"errors":{}}'
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: "Returned if:\n\n *  the request is invalid, that is:\n    \n     *  invalid data is provided, such as a request including issue ID and key.\n     *  the expression is invalid and can not be parsed.\n *  evaluation fails at runtime. This may happen for various reasons. For example, accessing a property on a null object (such as the expression `issue.id` where `issue` is `null`). In this case an error message is provided."
        '401':
          description: Returned if the authentication credentials are incorrect or missing.
        '404':
          content:
            application/json:
              example: '{"errorMessages":["Issue does not exist or you do not have permission to see it."],"errors":{}}'
              schema:
                $ref: '#/components/schemas/ErrorCollection'
          description: Returned if any object provided in the request context is not found or the user does not have permission to view it.
      security:
      - basicAuth: []
      - OAuth2:
        - read:jira-work
        - read:jira-user
      - {}
      summary: Atlassian Evaluate Jira Expression
      tags:
      - Jira Expressions
      x-atlassian-data-security-policy:
      - app-access-rule-exempt: false
      x-atlassian-oauth2-scopes:
      - scheme: OAuth2
        scopes:
        - read:jira-work
        - read:jira-user
        state: Current
      - scheme: OAuth2
        scopes:
        - read:jira-expressions:jira
        state: Beta
      x-atlassian-connect-scope: READ
components:
  schemas:
    JsonContextVariable:
      description: A JSON object with custom content.
      properties:
        type:
          description: Type of custom context variable.
          type: string
        value:
          description: A JSON object containing custom content.
          type: object
      required:
      - type
      type: object
    UserContextVariable:
      description: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user) specified as an Atlassian account ID.
      properties:
        accountId:
          description: The account ID of the user.
          type: string
        type:
          description: Type of custom context variable.
          type: string
      required:
      - accountId
      - type
      type: object
    JexpIssues:
      additionalProperties: false
      description: The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable.
      properties:
        jql:
          allOf:
          - $ref: '#/components/schemas/JexpJqlIssues'
          description: The JQL query that specifies the set of issues available in the Jira expression.
      type: object
    IssueContextVariable:
      description: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue) specified by ID or key. All the fields of the issue object are available in the Jira expression.
      properties:
        id:
          description: The issue ID.
          format: int64
          type: integer
        key:
          description: The issue key.
          type: string
        type:
          description: Type of custom context variable.
          type: string
      required:
      - type
      type: object
    JiraExpressionsAnalysis:
      additionalProperties: false
      description: Details about the analysed Jira expression.
      properties:
        results:
          description: The results of Jira expressions analysis.
          items:
            $ref: '#/components/schemas/JiraExpressionAnalysis'
          type: array
      required:
      - results
      type: object
    JiraExpressionForAnalysis:
      additionalProperties: false
      description: Details of Jira expressions for analysis.
      properties:
        contextVariables:
          additionalProperties:
            description: Context variables and their types. The type checker assumes that <a href="https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables">common context variables</a>, such as <code>issue</code> or <code>project</code>, are available in context and sets their type. Use this property to override the default types or provide details of new variables.
            type: string
          description: Context variables and their types. The type checker assumes that [common context variables](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables), such as `issue` or `project`, are available in context and sets their type. Use this property to override the default types or provide details of new variables.
          type: object
        expressions:
          description: The list of Jira expressions to analyse.
          example: issues.map(issue => issue.properties['property_key'])
          items:
            description: The list of Jira expressions to analyse.
            example: issues.map(issue => issue.properties['property_key'])
            type: string
          type: array
      required:
      - expressions
      type: object
    JiraExpressionComplexity:
      additionalProperties: false
      description: Details about the complexity of the analysed Jira expression.
      properties:
        expensiveOperations:
          description: "Information that can be used to determine how many [expensive operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) the evaluation of the expression will perform. This information may be a formula or number. For example:\n\n *  `issues.map(i => i.comments)` performs as many expensive operations as there are issues on the issues list. So this parameter returns `N`, where `N` is the size of issue list.\n *  `new Issue(10010).comments` gets comments for one issue, so its complexity is `2` (`1` to retrieve issue 10010 from the database plus `1` to get its comments)."
          type: string
        variables:
          additionalProperties:
            description: Variables used in the formula, mapped to the parts of the expression they refer to.
            type: string
          description: Variables used in the formula, mapped to the parts of the expression they refer to.
          type: object
      required:
      - expensiveOperations
      type: object
    JiraExpressionsComplexityBean:
      additionalProperties: false
      properties:
        beans:
          allOf:
          - $ref: '#/components/schemas/JiraExpressionsComplexityValueBean'
          description: The number of Jira REST API beans returned in the response.
        expensiveOperations:
          allOf:
          - $ref: '#/components/schemas/JiraExpressionsComplexityValueBean'
          description: The number of expensive operations executed while evaluating the expression. Expensive operations are those that load additional data, such as entity properties, comments, or custom fields.
        primitiveValues:
          allOf:
          - $ref: '#/components/schemas/JiraExpressionsComplexityValueBean'
          description: The number of primitive values returned in the response.
        steps:
          allOf:
          - $ref: '#/components/schemas/JiraExpressionsComplexityValueBean'
          description: The number of steps it took to evaluate the expression, where a step is a high-level operation performed by the expression. A step is an operation such as arithmetic, accessing a property, accessing a context variable, or calling a function.
      required:
      - beans
      - expensiveOperations
      - primitiveValues
      - steps
      type: object
    ErrorCollection:
      additionalProperties: false
      description: Error messages from an operation.
      properties:
        errorMessages:
          description: The list of error messages produced by this operation. For example, "input parameter 'key' must be provided"
          items:
            type: string
          type: array
        errors:
          additionalProperties:
            type: string
          description: 'The list of errors by parameter returned by the operation. For example,"projectKey": "Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters."'
          type: object
        status:
          format: int32
          type: integer
      type: object
    JiraExpressionEvalContextBean:
      additionalProperties: false
      properties:
        board:
          description: The ID of the board that is available under the `board` variable when evaluating the expression.
          format: int64
          type: integer
        custom:
          description: "Custom context variables and their types. These variable types are available for use in a custom context:\n\n *  `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user) specified as an Atlassian account ID.\n *  `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue) specified by ID or key. All the fields of the issue object are available in the Jira expression.\n *  `json`: A JSON object containing custom content.\n *  `list`: A JSON list of `user`, `issue`, or `json` variable types."
          items:
            $ref: '#/components/schemas/CustomContextVariable'
          type: array
        customerRequest:
          description: The ID of the customer request that is available under the `customerRequest` variable when evaluating the expression. This is the same as the ID of the underlying Jira issue, but the customer request context variable will have a different type.
          format: int64
          type: integer
        issue:
          allOf:
          - $ref: '#/components/schemas/IdOrKeyBean'
          description: The issue that is available under the `issue` variable when evaluating the expression.
        issues:
          allOf:
          - $ref: '#/components/schemas/JexpIssues'
          description: The collection of issues that is available under the `issues` variable when evaluating the expression.
        project:
          allOf:
          - $ref: '#/components/schemas/IdOrKeyBean'
          description: The project that is available under the `project` variable when evaluating the expression.
        serviceDesk:
          description: The ID of the service desk that is available under the `serviceDesk` variable when evaluating the expression.
          format: int64
          type: integer
        sprint:
          description: The ID of the sprint that is available under the `sprint` variable when evaluating the expression.
          format: int64
          type: integer
      type: object
    JiraExpressionResult:
      additionalProperties: false
      description: The result of evaluating a Jira expression.
      properties:
        meta:
          allOf:
          - $ref: '#/components/schemas/JiraExpressionEvaluationMetaDataBean'
          description: Contains various characteristics of the performed expression evaluation.
        value:
          description: The value of the evaluated expression. It may be a primitive JSON value or a Jira REST API object. (Some expressions do not produce any meaningful results—for example, an expression that returns a lambda function—if that's the case a simple string representation is returned. These string representations should not be relied upon and may change without notice.)
      required:
      - value
      type: object
    JexpJqlIssues:
      additionalProperties: false
      description: The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. Not all issues returned by the JQL query are loaded, only those described by the `startAt` and `maxResults` properties. To determine whether it is necessary to iterate to ensure all the issues returned by the JQL query are evaluated, inspect `meta.issues.jql.count` in the response.
      properties:
        maxResults:
          description: The maximum number of issues to return from the JQL query. Inspect `meta.issues.jql.maxResults` in the response to ensure the maximum value has not been exceeded.
          format: int32
          type: integer
        query:
          description: The JQL query.
          type: string
        startAt:
          description: The index of the first issue to return from the JQL query.
          format: int64
          type: integer
        validation:
          default: strict
          description: Determines how to validate the JQL query and treat the validation results.
          enum:
          - strict
          - warn
          - none
          type: string
      type: object
    IssuesMetaBean:
      additionalProperties: false
      description: Meta data describing the `issues` context variable.
      properties:
        jql:
          $ref: '#/components/schemas/IssuesJqlMetaDataBean'
      type: object
    JiraExpressionValidationError:
      additionalProperties: false
      description: "Details about syntax and type errors. The error details apply to the entire expression, unless the object includes:\n\n *  `line` and `column`\n *  `expression`"
      properties:
        column:
          description: The text column in which the error occurred.
          format: int32
          type: integer
        expression:
          description: The part of the expression in which the error occurred.
          type: string
        line:
          description: The text line in which the error occurred.
          format: int32
          type: integer
        message:
          description: Details about the error.
          example: '!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, TEMPLATE_LITERAL, new, [ or { expected, > encountered.'
          type: string
        type:
          description: The error type.
          enum:
          - syntax
          - type
          - other
          type: string
      required:
      - message
      - type
      type: object
    CustomContextVariable:
      additionalProperties: false
      discriminator:
        mapping:
          issue: '#/components/schemas/IssueContextVariable'
          json: '#/components/schemas/JsonContextVariable'
          user: '#/components/schemas/UserContextVariable'
        propertyName: type
      oneOf:
      - $ref: '#/components/schemas/UserContextVariable'
      - $ref: '#/components/schemas/IssueContextVariable'
      - $ref: '#/components/schemas/JsonContextVariable'
      properties:
        type:
          description: Type of custom context variable.
          type: string
      required:
      - type
      type: object
    IssuesJqlMetaDataBean:
      additionalProperties: false
      description: The description of the page of issues loaded by the provided JQL query.
      properties:
        count:
          description: The number of issues that were loaded in this evaluation.
          format: int32
          type: integer
        maxResults:
          description: The maximum number of issues that could be loaded in this evaluation.
          format: int32
          type: integer
        startAt:
          description: The index of the first issue.
          format: int64
          type: integer
        totalCount:
          description: The total number of issues the JQL returned.
          format: int64
          type: integer
        validationWarnings:
          description: Any warnings related to the JQL query. Present only if the validation mode was set to `warn`.
          items:
            type: string
          type: array
      required:
      - count
      - maxResults
      - startAt
      - totalCount
      type: object
    JiraExpressionsComplexityValueBean:
      additionalProperties: false
      properties:
        limit:
          description: The maximum allowed complexity. The evaluation will fail if this value is exceeded.
          format: int32
          type: integer
        value:
          description: The complexity value of the current expression.
          format: int32
          type: integer
      required:
      - limit
      - value
      type: object
    JiraExpressionEvaluationMetaDataBean:
      additionalProperties: false
      properties:
        complexity:
          allOf:
          - $ref: '#/components/schemas/JiraExpressionsComplexityBean'
          description: Contains information about the expression complexity. For example, the number of steps it took to evaluate the expression.
        issues:
          allOf:
          - $ref: '#/components/schemas/IssuesMetaBean'
          description: Contains information about the `issues` variable in the context. For example, is the issues were loaded with JQL, information about the page will be included here.
      type: object
    JiraExpressionAnalysis:
      additionalProperties: false
      description: Details about the analysed Jira expression.
      properties:
        complexity:
          $ref: '#/components/schemas/JiraExpressionComplexity'
        errors:
          description: A list of validation errors. Not included if the expression is valid.
          items:
            $ref: '#/components/schemas/JiraExpressionValidationError'
          type: array
        expression:
          description: The analysed expression.
          type: string
        type:
          description: EXPERIMENTAL. The inferred type of the expression.
          type: string
        valid:
          description: Whether the expression is valid and the interpreter will evaluate it. Note that the expression may fail at runtime (for example, if it executes too many expensive operations).
          type: boolean
      required:
      - expression
      - valid
      type: object
    IdOrKeyBean:
      additionalProperties: false
      properties:
        id:
          description: The ID of the referenced item.
          format: int64
          type: integer
        key:
          description: The key of the referenced item.
          type: string
      type: object
    JiraExpressionEvalRequestBean:
      additionalProperties: false
      properties:
        context:
          allOf:
          - $ref: '#/components/schemas/JiraExpressionEvalContextBean'
          description: The context in which the Jira expression is evaluated.
        expression:
          description: The Jira expression to evaluate.
          example: '{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link => link.linkedIssue.id) }'
          type: string
      required:
      - expression
      type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Use an Atlassian API key as a Bearer token. Create API keys at https://admin.atlassian.com.
    oauth2:
      type: oauth2
      description: OAuth 2.0 authorization for Atlassian Cloud APIs.
      flows:
        authorizationCode:
          authorizationUrl: https://auth.atlassian.com/authorize
          tokenUrl: https://auth.atlassian.com/oauth/token
          scopes:
            read:org:admin: Read organization information.
            write:org:admin: Modify organization settings.
            read:user:admin: Read user information.
            write:user:admin: Modify user accounts.
            read:policy:admin: Read organization policies.
            write:policy:admin: Modify organization policies.
            read:event:admin: Read organization events.
externalDocs:
  description: Atlassian Admin REST API Documentation
  url: https://developer.atlassian.com/cloud/admin/organization/rest/intro/