---
title: "The migration from Server to Cloud stops during the analysis phase"
canonical: "https://support.appfire.com/space/SUPPORT/1193377834/The%20migration%20from%20Server%20to%20Cloud%20stops%20during%20the%20analysis%20phase"
format: markdown
---
## \uD83E\uDD14 Problem

The Server logs might show an error similar to:

```
com.botronsoft.jira.cloudmigrator.impl.errorhandling.CloudOperationException: The action failed due to a technical issue on our end.
```

While the Cloud logs (visible to the Appfire Support team) may show something like this:

```
Stack Trace	
com.botronsoft.jira.cloud.client.api.CloudClientException: Request failed! Url=Request{method=POST, url=https://{customer_organization}.atlassian.net//rest/api//3/workflows?expand=workflows.usages, headers=[X-Force-Accept-Language:true, Accept-Language:en]}
Request body: {"projectAndIssueTypes":[],"workflowIds":[],"workflowNames":["workflow1","workflow2","Workflow3", ...]}
Response code: 500
Response Body: {"errorMessages":["encountered an unexpected condition."],"errors":{}}
...
```

## \uD83C\uDF31 Solution

The Configuration Manager Cloud app error indicates a workflow (or workflows) is broken, stopping the migration. To find which workflow (or workflows) is causing this, we can follow the workaround below:

1. **Workaround 1**:
  1. Run the following API call in a terminal for each of the workflows mentioned in the CMJ cloud error log above:
2. **Workaround 2**:
  1. Run the following python3 script to review each of the workflows from the CMJ cloud error log above at once:

```
import requests
from requests.auth import HTTPBasicAuth
import json
# Set the API endpoint site
site = "https://{customer_organization}.atlassian.net/"

auth = HTTPBasicAuth("<USER_NAME>", "<USER_API_KEY>")

# Set the headers for the request
headers = {
  "Accept": "application/json",
  "Content-Type": "application/json"
}
#Here goes each of the workflow names.
workflow_name = ["workflow1","workflow2","Workflow3", ...]

#Iteration on the workflows to check them
for x in workflow_name:
  print("----------")
  print(f'Processing api call: {x}')
  url = f'{site}rest/api/3/workflows?expand=workflows.usages'
  payload = json.dumps( {
  "projectAndIssueTypes": [],
  "workflowIds": [],
  "workflowNames": [x]
  } )
  response = requests.request("POST", url, data=payload, headers=headers, auth=auth)
  print(response)
  if response.status_code == 200:
    print(f'Success first api call: {x}')
  else:
    print(f'Error first api call: {x}')
      # api call completed
```

**Note: When the response code is 500, it means that the workflow is broken and should be removed from the Cloud instance.**

Output example:

```
----------
Processing api call: workflow1
<Response [200]>
Success first api call: workflow1
----------
Processing api call: workflow2
<Response [500]>
Error first api call: workflow2
----------
```


> ℹ️ All workflows listed in the error message should be checked; it does not matter if the workflow is not part of the project that is being migrated.

## \uD83D\uDCCE Related articles



> Macro (contentbylabel)