Jak tworzyć akcje niestandardowe w aplikacji klasycznej Power Automate
Zwiększ produktywność, możliwość ponownego wykorzystania i rozszerzalność dzięki niestandardowym działaniom w aplikacji klasycznej Power Automate. W tym artykule omówiono, jak to niestandardowe akcje w aplikacji klasycznej Power Automate mogą pomóc twórcom w tworzeniu własnych akcji wielokrotnego użytku, które można wykorzystać w wielu przepływach. Twórcy tworzą niestandardowe akcje, łącząc sekwencję kroków lub funkcji w nową akcję. Akcje niestandardowe są tworzone za pomocą aplikacji klasycznej Power Automate dla SDK akcji, który udostępnia zestaw interfejsów API umożliwiających twórcom tworzenie niestandardowych akcji przy użyciu języka C# .NET. Akcje niestandardowe można także udostępniać innym użytkownikom w sekcji akcji niestandardowych w Power Automate (make.powerautomate.com). W tym artykule znajdziesz szczegółowe instrukcje dotyczące tworzenia, kompilowania, wdrażania, używania i aktualizowania akcji niestandardowych.
Ważne
Chociaż obsługiwane są podstawowe funkcje wykorzystywane do tworzenia akcji niestandardowych, dostarczone rozwiązania, zasoby i przykładowe skrypty wymienione tutaj służą jako przykładowa implementacja tych funkcji i nie obejmują wsparcia.
Omówienie
Możliwość działań niestandardowych w aplikacji klasycznej Power Automate umożliwia tworzenie własnych akcji wielokrotnego użytku, których można używać w wielu przepływach pulpitu. Akcje niestandardowe oszczędzają czas i wysiłek, umożliwiając ponowne wykorzystanie złożonych lub często używanych akcji bez konieczności ich ponownego tworzenia za każdym razem, gdy tworzysz nowy przepływ. Twórcy mogą wykorzystać swoje istniejące umiejętności i wiedzę do tworzenia niestandardowych działań, które integrują się z innymi systemami i usługami. Dodatkowo profesjonalni programiści mogą opakować istniejące funkcje lub biblioteki kodu, aby utworzyć nową niestandardową akcję, która skutkuje zwiększoną możliwością ponownego użycia zasobów organizacyjnych.
Tworzysz niestandardowe akcje, łącząc sekwencję sposobów lub funkcji w nową akcję. Po utworzeniu akcji niestandardowej użyj jej w dowolnym przepływie na pulpicie, przeciągając i upuszczając ją w kanwie twórcy aplikacji klasycznej Power Automate.
Akcje niestandardowe można udostępniać innym użytkownikom w sekcji akcji niestandardowych w Power Automate, które zapewnia centralne repozytorium umożliwiające udostępnianie i odkrywanie niestandardowych działań. Oznacza to, że użytkownicy mogą korzystać z wiedzy i doświadczenia innych osób w organizacji oraz mogą łatwo znajdować i wykorzystywać niestandardowe akcje stworzone przez innych twórców.
Ogólnie rzecz biorąc, niestandardowe działania w aplikacji klasycznej Power Automate stanowią skuteczny sposób na rozszerzenie funkcjonalności produktu, usprawnienie procesu budowania przepływu oraz wspieranie współpracy i innowacji w organizacji.
Wymagania wstępne
- Najnowsza wersja aplikacji klasycznej Power Automate — Zainstaluj Power Automate
- Narzędzie do tworzenia treści w języku C#, takie jak Visual Studio Community/Professional/Enterprise 2022 z obciążeniem programistycznym .NET Desktop
- SDK akcji niestandardowych — Galeria NuGet | Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
- Certyfikat cyfrowy:
- Generowanie certyfikatu z podpisem własnym – Generowanie certyfikatów z podpisem własnym — omówienie – .NET
- Wdrożenie w przedsiębiorstwie – Zaufany certyfikat Twojej organizacji wydany przez urząd certyfikacji — Podpisy cyfrowe i certyfikaty – Pomoc techniczna pakietu Office
- SignTool:
- Skrypt Windows PowerShell (.ps1) – Utwórz akcje niestandardowe – Power Automate
Utwórz własną akcję niestandardową
Otwórz Visual Studio, aby utworzyć nowy projekt przy użyciu szablonu Biblioteki klas (.NET Framework).
Skonfiguruj swój nowy projekt, podając nazwę projektu, lokalizację pliku i ustaw Framework jako .NET Framework 4.7.2.
Uwaga
Pamiętaj, aby przestrzegać konwencji nazewnictwa. Więcej informacji: Niestandardowe konwencje nazw modułów
W Visual Studio wybierz Narzędzia>NuGet Menedżer pakietów>Konsola menedżera pakietów.
Otwórz okno PowerShell i zainstaluj pakiet NuGet PowerAutomate.Desktop.Actions.SDK za pomocą tego polecenia PowerShell.
Find-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK NuGet\Install-Package Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK
Postępuj zgodnie z instrukcjami Tworzenie akcji niestandardowych, aby utworzyć plik klasy dla akcji niestandardowej.
Informacje, które możesz wykorzystać jako punkt odniesienia dla swoich działań
Archiwum rozwiązań referencyjnych: Rozwiązanie modułu .NET
Akcja: Zapisz wiadomość do pliku lokalnego.
Parametry wejściowe: Nazwa pliku, komunikat o zapisie do pliku.
Parametry wyjściowe: Kod stanu – prawda w przypadku powodzenia i fałsz w przypadku niepowodzenia.
Definicja klasy:
using System;
using System.IO;
using Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK;
using Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK.Attributes;
namespace ModulesLogEvent
{
[Action(Id = "LogEventToFile" , Order = 1, Category = "Logging")]
[Throws("LogEventError")]
public class LogEventToFile : ActionBase
{
[InputArgument]
public string LogFileName { get; set; }
[InputArgument]
public string LogMessage { get; set; }
[OutputArgument]
public bool StatusCode { get; set; }
public override void Execute(ActionContext context)
{
try
{
// To append all of the text to the file
File.AppendAllText(LogFileName, LogMessage);
StatusCode = true;
}
catch (Exception e)
{
if (e is ActionException) throw;
throw new ActionException("LogEventError", e.Message, e.InnerException);
}
}
}
}
Zasoby
W tej tabeli wymieniono opisy i przyjazne nazwy parametrów w Resources.resx pliku.
Nazwa/nazwisko | Wartość | Comment |
---|---|---|
LogEventToFile_Description | Niestandardowa akcja rejestrowania wiadomości w dostarczonym pliku | Opis akcji |
LogEventToFile_FriendlyName | LogEventToFile | Nazwa akcji |
LogEventToFile_LogFileName_Description | Parametr wejściowy typu tekstu | Opis danych wejściowych akcji |
LogEventToFile_LogFileName_FriendlyName | LogFileName | Nazwa danych wejściowych akcji |
LogEventToFile_LogMessage_Description | Parametr wejściowy typu tekstu | Opis danych wejściowych akcji |
LogEventToFile_LogMessage_FriendlyName | LogMessage | Nazwa danych wejściowych akcji |
LogEventToFile_StatusCode_Description | Parametr wyjściowy typu logicznego | Opis danych wyjściowych akcji |
LogEventToFile_StatusCode_FriendlyName | LogMessage | OutputName akcji |
ModulesLogEvent_Description | Moduł do zarządzania zdarzeniami w dzienniku | Opis modułu |
ModulesLogEvent_FriendlyName | LogEvent | Nazwa modułu |
Zbuduj pakiet i wdróż akcję niestandardową
Utwórz pakiet i wdróż go w Power Automate.
Zdobądź certyfikat cyfrowy, aby można było podpisać plik DLL akcji niestandardowej.
Ważne
Certyfikaty z podpisem własnym służą wyłącznie do celów testowych i nie są zalecane do użytku produkcyjnego. W przypadku organizacyjnego wdrażania akcji niestandardowych w swoim środowisku zalecamy użycie zaufanego certyfikatu cyfrowego zgodnego z wytycznymi organizacji.
Porada
Aby usprawnić proces opracowywania i używania niestandardowych akcji dla aplikacji klasycznej Power Automate w całej organizacji, możesz dołączyć zaufany certyfikat cyfrowy do instalatora aplikacji klasycznej Power Automate dystrybuowanej za pośrednictwem SCCM/Appstore. > Umożliwi to automatyczną instalację certyfikatu zarówno na twórcach, jak i na nienadzorowanych komputerach wykonawczych, które wymagają aplikacji klasycznej Power Automate, bez konieczności wykonywania dodatkowych działań.
W tym przykładzie użyto certyfikatu z podpisem własnym.
Utwórz certyfikat z podpisem własnym za pomocą tego skryptu.
$certPFXFileName="C:\PADCustomAction\PADCustomActionCert.pfx"; $certCERFileName="C:\PADCustomAction\PADCustomActionCert.cer"; $certStoreLocation="Cert:\LocalMachine\AuthRoot"; $certname = "PADCustomActionSelfSignCert" ##Create certificate $cert = New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My -Type CodeSigningCert -Subject "CN=$certname" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256 $mypwd = ConvertTo-SecureString -String <YOUR CERT PASSWORD GOES HERE> -Force -AsPlainText ##Export certificate $certPFXFile = Export-PfxCertificate -Cert $cert -FilePath $certPFXFileName -Password $mypwd $certCERFile = Export-Certificate -Cert $cert -FilePath $certCERFileName -Type CERT -Verbose -Force
Zaimportuj certyfikat do magazynu certyfikatów za pomocą tego polecenia.
##Import certificate Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
Sprawdź, czy zaimportowany certyfikat pojawia się w Zaufanych głównych urzędach certyfikacji>Certyfikaty w przystawce Certyfikaty Microsoft Manager Console (MMC).
Sfinalizuj utworzony moduł niestandardowy, podpisując plik DLL przy użyciu zaufanego certyfikatu. Użyj Visual Studio wiersza poleceń programisty, aby użyć narzędzia Signtool do tego działania.
Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/Modules.LogEvent.dll"
Aby wdrożyć akcję niestandardową, skompiluj zawartość pakietu w pliku Cabinet (.cab) przy użyciu tego skryptu programu PowerShell.
.\BuildCAB.ps1 "C:/PADActions/PADCustomActionEventLog" "C:/PADActions/PADCustomActionEventLog" PADCustomActionEventLog.cab
Podpisz wygenerowany plik gabinetu za pomocą narzędzia Signtool.
Signtool sign /f "C:/PADActions/PADCustomActionCert.pfx" /p <YOURCERTPASSWORD> /fd SHA256 "C:/PADActions/PADCustomActionEventLog/PADCustomActionEventLog.cab"
Przejdź do sekcji akcji niestandardowej Power Automate, aby przesłać utworzoną akcję niestandardową. Podaj nazwę, opis i plik Cabinet, a następnie wybierz Prześlij.
Gdy akcja zostania z powodzeniem przekazana, otrzymasz powiadomienie.
Po wykonaniu tych kroków moduł akcji niestandardowej jest pakowany do pliku Cabinet i podpisywany zaufanym certyfikatem. Dodatkowo plik szafki akcji niestandardowych jest przesyłany do biblioteki akcji niestandardowych w Power Automate.
Więcej informacji: Prześlij akcje niestandardowe
Użyj niestandardowej aktywności akcji w przepływie na komputerze, używając aplikacji klasycznej Power Automate
Utwórz nowy przepływ pulpitu, a następnie wybierz Bibliotekę zasobów w projektancie.
Sprawdź akcję niestandardową dostępną w bibliotece zasobów. Zwróć uwagę na akcję utworzoną wcześniej i przesłaną do sekcji akcji niestandardowych w Power Automate.
Wybierz Dodaj, aby dodać tę akcję niestandardową do obszaru Działania projektanta.
Sprawdź, czy akcja niestandardowa została pomyślnie dodana. Szukaj go na pasku wyszukiwania Działania w projektancie aplikacji klasycznej Power Automate.
Przeciągnij akcję niestandardową lub kliknij ją dwukrotnie, aby dodać ją do przepływu pracy na pulpicie.
Podaj parametry wejściowe i dodatkowe kroki, aby przetestować akcję niestandardową.
Przykładowy przepływ pulpitu przy użyciu akcji niestandardowej.
Przetestuj przepływ, aby zobaczyć, jak akcja niestandardowa działa w czasie rzeczywistym.
Uwaga
Zaimportuj certyfikat używany do podpisania pliku cab na maszynę używaną do tworzenia przepływów pulpitu z niestandardowymi akcjami oraz do każdej maszyny wykonawczej, na której będą uruchamiane przepływy pulpitu.
Wykonując te kroki, utworzono akcję niestandardową, moduł spakowano do pliku Cabinet, podpisano zaufanym certyfikatem i przesłano do biblioteki akcji niestandardowych w Power Automate, przepływ na pulpicie umożliwiający użycie akcji niestandardowej utworzonej i przetestowanej pod kątem pomyślnego działania.
Zaktualizuj i ponownie wdróż akcję niestandardową
Zaktualizuj funkcjonalność akcji niestandardowej, aby odzwierciedlić zaktualizowane możliwości, wykonując poniższe kroki.
Zaktualizuj plik klasy w rozwiązaniu Visual Studio z nową funkcjonalnością akcji. Więcej informacji: Zaktualizowane rozwiązanie modułu .NET
Zmodyfikowano podpis pliku klasy, aby uwzględnić trzeci parametr wejściowy, jak pokazano.
using System; using System.IO; using Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK; using Microsoft.PowerPlatform.PowerAutomate.Desktop.Actions.SDK.Attributes; namespace ModulesLogEvent { [Action(Id = "LogEventToFile" , Order = 1, Category = "Logging")] [Throws("LogEventError")] public class LogEventToFile : ActionBase { [InputArgument] public string LogFileName { get; set; } [InputArgument] public string LogMessage { get; set; } [InputArgument] public string LogLevel { get; set; } [OutputArgument] public bool StatusCode { get; set; } public override void Execute(ActionContext context) { try { // To append all of the text to the file File.AppendAllText(LogFileName, LogLevel + ": " + LogMessage); StatusCode = true; } catch (Exception e) { if (e is ActionException) throw; throw new ActionException("LogEventError", e.Message, e.InnerException); } } } }
Wykonaj podobne kroki opisane wcześniej, podpisując plik DLL, tworząc plik gabinetu, podpisując plik gabinetu i przesyłając plik gabinetu do sekcji działań niestandardowych w Power Automate. Więcej informacji: Zbuduj pakiet i wdróż akcję niestandardową
Uwaga
Przed przesłaniem zaktualizowanego pliku szafy akcji niestandardowych należy przeanalizować wpływ tej zmiany, ponieważ przepływy pulpitu z tą akcją zostaną zaktualizowane o nowe możliwości.
Zaktualizuj przepływ pulpitu zgodnie z wymaganiami.
Aby sprawdzić możliwość aktualizacji, dodaliśmy trzeci parametr wejściowy do akcji niestandardowej. Zwróć uwagę, że działanie akcji niestandardowej jest oznaczone w projektancie jako Błąd i należy je zaktualizować przy użyciu nowego parametru wejściowego.
Przetestuj przepływ, aby zobaczyć, jak zaktualizowana akcja niestandardowa działa w czasie rzeczywistym.
W tej sekcji zaktualizowałeś podstawową funkcjonalność akcji niestandardowej, zbudowałeś pakiet, wdrożyłeś w Power Automate, zrefaktoryzowano przepływ pulpitu i sprawdzono funkcjonalność, uruchamiając przepływ pulpitu ze zaktualizowanymi możliwościami akcji niestandardowej w aplikacji klasycznej Power Automate.