You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`list`|`--org`|`--include-inactive`, `--detect`| GET | List migrations. By default only active ones. |
282
297
|`status`|`--org`, `--repository-id`|`--detect`| GET | Get detailed status for one migration. |
283
-
|`create`|`--org`, `--repository-id`, `--target-repository`, `--target-owner-user-id`, `--agent-pool`|`--validate-only`, `--cutover-date`, `--skip-validation`, `--detect`| POST | Create a new migration. |
298
+
|`create`|`--org`, `--repository-id`, `--target-repository`, `--target-owner-user-id`|`--agent-pool`,`--validate-only`, `--cutover-date`, `--skip-validation`, `--detect`| POST | Create a new migration. |
284
299
|`pause`|`--org`, `--repository-id`|`--detect`| PUT | Pause an active migration. |
285
300
|`resume`|`--org`, `--repository-id`|`--validate-only`, `--migration`, `--detect`| PUT | Resume a stopped migration. |
286
301
|`cutover set`|`--org`, `--repository-id`, `--date`|`--detect`| PUT | Schedule a cutover date/time. |
|`--org`| URL | All | Azure DevOps org URL (e.g., `https://dev.azure.com/myorg`). Can be set as default. |
295
310
|`--repository-id`| GUID | All except `list`| Azure Repos repository GUID. Get from `az repos show --query id`. |
296
-
|`--target-repository`| URL |`create`| Target repository URL (e.g., `https://example.ghe.com/OrgName/RepoName`). Validated by the server. |
311
+
|`--target-repository`| URL |`create`| Target repository URL (e.g., `https://example.ghe.com/OrgName/RepoName`). Must start with `http://` or `https://`. |
297
312
|`--target-owner-user-id`| string |`create`| Target repository owner user ID. |
298
-
|`--agent-pool`| string |`create`| Agent pool name for migration work. Required. |
313
+
|`--agent-pool`| string |`create`| Agent pool name for migration work. Optional. |
299
314
|`--validate-only`| flag |`create`, `resume`| On `create`: run pre-migration checks only. On `resume`: switch to validate-only mode. |
300
-
|`--migration`| flag |`resume`|Switch to full migration mode (clears validate-only). Mutually exclusive with `--validate-only`. |
315
+
|`--migration`| flag |`resume`|Promote succeeded validate-only to full migration (`validateOnly=false`, `statusRequested=active`). Mutually exclusive with `--validate-only`. |
301
316
|`--cutover-date`| ISO 8601 |`create`| Pre-schedule cutover at creation time. E.g., `2030-12-31T11:59:00Z`. |
|**Stale default org in config**| Requests go to old/dev URL (e.g., `codedev.ms`) | Run `az devops configure -d organization=https://dev.azure.com/<your-org>` to update |
313
328
|**Resume on an active migration**| Error: "Migration is active..." | Pause first with `az devops migrations pause`, then resume |
314
329
|**Both `--validate-only` and `--migration` on resume**| Error: "Please specify only one..." | Use only one flag at a time |
315
-
|**Missing `--agent-pool` on create**| Error: "--agent-pool must be specified." | Always provide `--agent-pool <PoolName>`|
330
+
|**Missing `--target-repository` on create**| Error: "--target-repository must be specified." | Provide `--target-repository <URL>`|
331
+
|**Invalid `--target-repository` format**| Error: "--target-repository must be a valid URL..." | Use a fully qualified URL starting with `http://` or `https://`|
316
332
|**Invalid `--repository-id`**| Error: "--repository-id must be a valid GUID." | Use `az repos show --query id` to get the correct GUID |
317
333
|**Bad date format**| Error: "must be a valid date or datetime string" | Use ISO 8601 format, e.g., `2030-12-31T11:59:00Z`|
0 commit comments