in src/Common/ProcessImporter.ts [95:116]
private async _importFields(payload: IProcessPayload): Promise<void> {
const fieldsToCreate: WITProcessDefinitionsInterfaces.FieldModel[] = await Engine.Task(() => this._getFieldsToCreate(payload), "Get fields to be created on target process");
if (fieldsToCreate.length > 0) {
for (const field of fieldsToCreate) {
try {
const fieldCreated = await Engine.Task(() => this._witProcessDefinitionApi.createField(field, payload.process.typeId), `Create field '${field.id}'`);
if (!fieldCreated) {
throw new ImportError(`Create field '${field.name}' failed, server returned empty object`);
}
if (fieldCreated.id !== field.id) {
throw new ImportError(`Create field '${field.name}' actually returned referenace name '${fieldCreated.id}' instead of anticipated '${field.id}', are you on latest VSTS?`);
}
}
catch (error) {
Utility.handleKnownError(error);
throw new ImportError(`Create field '${field.name}' failed, see log for details.`);
}
};
}
}