> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eorion.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 生成迁移计划

> Generates a migration plan for two process definitions. The generated migration
plan contains migration instructions which map equal activities
between the
two process definitions.



## OpenAPI

````yaml POST /migration/generate
openapi: 3.0.2
info:
  title: ORION Platform REST API
  description: OpenApi Spec for ORION Camunda Platform REST API.
  version: 7.22.6-ee
  license:
    name: Apache License 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: http://{host}:{port}/{contextPath}
    description: The API server for the default process engine
    variables:
      host:
        default: localhost
      port:
        default: '8080'
      contextPath:
        default: engine-rest
  - url: http://{host}:{port}/{contextPath}/engine/{engineName}
    description: The API server for a named process engine
    variables:
      host:
        default: localhost
      port:
        default: '8080'
      contextPath:
        default: engine-rest
      engineName:
        default: default
  - url: '{url}'
    description: The API server with a custom url
    variables:
      url:
        default: ''
security:
  - basicAuth: []
tags:
  - name: Authorization
  - name: Batch
  - name: Condition
  - name: Decision Definition
  - name: Decision Requirements Definition
  - name: Deployment
  - name: Engine
  - name: Event Subscription
  - name: Execution
  - name: External Task
  - name: Filter
  - name: Group
  - name: Historic Activity Instance
  - name: Historic Batch
  - name: Historic Decision Definition
  - name: Historic Decision Instance
  - name: Historic Decision Requirements Definition
  - name: Historic Detail
  - name: Historic External Task Log
  - name: Historic Identity Link Log
  - name: Historic Incident
  - name: Historic Job Log
  - name: Historic Process Definition
  - name: Historic Process Instance
  - name: Historic Task Instance
  - name: Historic User Operation Log
  - name: Historic Variable Instance
  - name: History Cleanup
  - name: Identity
  - name: Incident
  - name: Job
  - name: Job Definition
  - name: Message
  - name: Metrics
  - name: Migration
  - name: Modification
  - name: Process Definition
  - name: Process Instance
  - name: Signal
  - name: Schema Log
  - name: Task
  - name: Task Attachment
  - name: Task Comment
  - name: Task Identity Link
  - name: Task Local Variable
  - name: Task Variable
  - name: Telemetry
  - name: Tenant
  - name: User
  - name: Variable Instance
  - name: Version
externalDocs:
  description: Find out more about ORION Rest API
  url: https://docs.eorion.com
paths:
  /migration/generate:
    post:
      tags:
        - Migration
      summary: Generate Migration Plan
      description: >-
        Generates a migration plan for two process definitions. The generated
        migration

        plan contains migration instructions which map equal activities

        between the

        two process definitions.
      operationId: generateMigrationPlan
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MigrationPlanGenerationDto'
            examples:
              example-1:
                summary: POST `/migration/generate`
                value:
                  sourceProcessDefinitionId: aProcessDefinitionId1
                  targetProcessDefinitionId: aProcessDefinitionId2
                  updateEventTriggers: true
                  variables:
                    foo:
                      type: Object
                      value: '[5,6]'
                      valueInfo:
                        objectTypeName: java.util.ArrayList
                        serializationDataFormat: application/json
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MigrationPlanDto'
              examples:
                example-1:
                  summary: Status 200.
                  description: POST `/migration/generate`
                  value:
                    sourceProcessDefinitionId: aProcessDefinitionId1
                    targetProcessDefinitionId: aProcessDefinitionId2
                    instructions:
                      - sourceActivityIds:
                          - aUserTask
                        targetActivityIds:
                          - aUserTask
                        updateEventTrigger: false
                      - sourceActivityIds:
                          - anEvent
                        targetActivityIds:
                          - anotherEvent
                        updateEventTrigger: true
                    variables:
                      foo:
                        type: Object
                        value: '[5,6]'
                        valueInfo:
                          objectTypeName: java.util.ArrayList
                          serializationDataFormat: application/json
          description: Request successful.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionDto'
          description: >

            The requested migration was invalid. See

            [Introduction](https://docs.camunda.org/manual/7.22/reference/rest/overview/#error-handling)

            for the error response format.
components:
  schemas:
    MigrationPlanGenerationDto:
      type: object
      properties:
        sourceProcessDefinitionId:
          type: string
          nullable: true
          description: The id of the source process definition for the migration.
        targetProcessDefinitionId:
          type: string
          nullable: true
          description: The id of the target process definition for the migration.
        updateEventTriggers:
          type: boolean
          nullable: true
          description: >-
            A boolean flag indicating whether instructions between events should
            be configured

            to update the event triggers.
        variables:
          type: object
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/VariableValueDto'
          description: >-
            A map of variables which will be set into the process instances'
            scope.

            Each key is a variable name and each value a JSON variable value
            object.
    MigrationPlanDto:
      type: object
      properties:
        sourceProcessDefinitionId:
          type: string
          nullable: true
          description: The id of the source process definition for the migration.
        targetProcessDefinitionId:
          type: string
          nullable: true
          description: The id of the target process definition for the migration.
        instructions:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/MigrationInstructionDto'
          description: >-
            A list of migration instructions which map equal activities. Each

            migration instruction is a JSON object with the following
            properties:
        variables:
          type: object
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/VariableValueDto'
          description: >-
            A map of variables which will be set into the process instances'
            scope.

            Each key is a variable name and each value a JSON variable value
            object.
    ExceptionDto:
      title: ExceptionDto
      type: object
      properties:
        type:
          type: string
          nullable: true
          description: An exception class indicating the occurred error.
        message:
          type: string
          nullable: true
          description: A detailed message of the error.
        code:
          type: number
          description: >-
            The code allows your client application to identify the error in an
            automated fashion.

            You can look up the meaning of all built-in codes and learn how to
            add custom codes

            in the [User
            Guide](https://docs.camunda.org/manual/7.22/user-guide/process-engine/error-handling/#exception-codes).
    VariableValueDto:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/AnyValue'
        type:
          type: string
          nullable: true
          description: The value type of the variable.
        valueInfo:
          type: object
          additionalProperties: true
          description: >-
            A JSON object containing additional, value-type-dependent
            properties.

            For serialized variables of type Object, the following properties
            can be provided:


            * `objectTypeName`: A string representation of the object's type
            name.

            * `serializationDataFormat`: The serialization format used to store
            the variable.


            For serialized variables of type File, the following properties can
            be provided:


            * `filename`: The name of the file. This is not the variable name
            but the name that will be used when downloading the file again.

            * `mimetype`: The MIME type of the file that is being uploaded.

            * `encoding`: The encoding of the file that is being uploaded.


            The following property can be provided for all value types:


            * `transient`: Indicates whether the variable should be transient or

            not. See
            [documentation](https://docs.camunda.org/manual/7.22/user-guide/process-engine/variables#transient-variables)
            for more informations.

            (Not applicable for `decision-definition`, `
            /process-instance/variables-async`, and `/migration/executeAsync`
            endpoints)
    MigrationInstructionDto:
      type: object
      properties:
        sourceActivityIds:
          type: array
          nullable: true
          items:
            type: string
          description: The activity ids from the source process definition being mapped.
        targetActivityIds:
          type: array
          nullable: true
          items:
            type: string
          description: The activity ids from the target process definition being mapped.
        updateEventTrigger:
          type: boolean
          nullable: true
          description: >-
            Configuration flag whether event triggers defined are going to be
            updated during migration.
    AnyValue:
      description: |-
        Can be any value - string, number, boolean, array or object.
         **Note**: Not every endpoint supports every type.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic

````