Перейти к содержимому

Манифест пакета Event Receiver

Манифест пакета Event Receiver

Файл manifest.json в корне .portalevent.

Поля

ПолеТипОбязательноеОписание
idstringдаУникальный ключ vendor.name, используется как job_type
titlestringдаНазвание в UI
versionstringдаВерсия пакета
descriptionstringнетОписание
entrystringдаПуть к .dll внутри ZIP
entryTypestringдаПолное имя C#-класса (IEventReceiver)
eventsstring[]даПоддерживаемые события (для UI)
serviceKeystringнетСлужба очереди (по умолчанию event-extensions)
configSchemaobjectнетСхема config для привязки Event Receiver

Пример

{
"id": "contoso.list-change-handler",
"title": "List Change Handler",
"version": "2.0.0",
"description": "Реакция на изменения элементов списка",
"entry": "dist/ListChangeHandler.dll",
"entryType": "Contoso.ListChangeHandler.ListChangeHandler",
"events": ["listItem.created", "listItem.updated", "listItem.deleted"],
"serviceKey": "event-extensions",
"configSchema": {
"note": { "type": "text", "label": "Примечание", "default": "" }
}
}

C# handler

Класс реализует Portal.EventReceiver.Sdk.IEventReceiver:

public sealed class ListChangeHandler : IEventReceiver
{
public async Task<object?> HandleAsync(EventContext context, IReceiverApi api, CancellationToken ct)
{
api.Log.Info(context.EventName);
return new { ok = true };
}
}

Worker загружает DLL через AssemblyLoadContext и вызывает HandleAsync при выполнении job.

См. packages/event-receiver-examples/list-change-handler.