Udostępnij za pośrednictwem


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

Utwórz własną akcję niestandardową

  1. Otwórz Visual Studio, aby utworzyć nowy projekt przy użyciu szablonu Biblioteki klas (.NET Framework). Zrzut ekranu przedstawiający okno dialogowe Tworzenie projektu w języku C#.

  2. 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

    Zrzut ekranu przedstawiający szczegóły biblioteki klas Utwórz C#.

  3. W Visual Studio wybierz Narzędzia>NuGet Menedżer pakietów>Konsola menedżera pakietów.

    Zrzut ekranu Menedżera pakietów .NET.

  4. 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
    
  5. 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.

  1. 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.

    1. 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
      
    2. Zaimportuj certyfikat do magazynu certyfikatów za pomocą tego polecenia.

      ##Import certificate
      Import-Certificate -CertStoreLocation $certStoreLocation -FilePath $certCERFile
      
    3. Sprawdź, czy zaimportowany certyfikat pojawia się w Zaufanych głównych urzędach certyfikacji>Certyfikaty w przystawce Certyfikaty Microsoft Manager Console (MMC).

  2. 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"
    
  3. 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
    

    Przejdź do przykładowego pliku skryptu BuildCAB.ps1

  4. 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"
    
  5. 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.

    Zrzut ekranu przedstawiający importowanie pakietu akcji niestandardowych (plik CAB) w portalu Power Automate

    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

  1. Utwórz nowy przepływ pulpitu, a następnie wybierz Bibliotekę zasobów w projektancie.

    Zrzut ekranu przedstawiający opcję Przejdź do Biblioteki zasobów w aplikacji klasycznej Power Automate

  2. 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.

    Zrzut ekranu przedstawiający Dodaj akcję niestandardową z Biblioteki zasobów

  3. Sprawdź, czy akcja niestandardowa została pomyślnie dodana. Szukaj go na pasku wyszukiwania Działania w projektancie aplikacji klasycznej Power Automate.

    Zrzut ekranu przedstawiający opcję Wyszukaj akcję niestandardową w aplikacji klasycznej Power Automate

  4. Przeciągnij akcję niestandardową lub kliknij ją dwukrotnie, aby dodać ją do przepływu pracy na pulpicie.

  5. Podaj parametry wejściowe i dodatkowe kroki, aby przetestować akcję niestandardową.

    Zrzut ekranu przedstawiający parametry wejściowe dla akcji niestandardowej

    Przykładowy przepływ pulpitu przy użyciu akcji niestandardowej.

    Zrzut ekranu przedstawiający użycie akcji niestandardowej w przepływie pulpitu

  6. Przetestuj przepływ, aby zobaczyć, jak akcja niestandardowa działa w czasie rzeczywistym.

    Testuj akcję niestandardową w przepływie pulpitu

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.

  1. 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);
             }
         }
      }
    }
    
  2. 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.

    Zrzut ekranu przedstawiający aktualizację akcji niestandardowej w Portalu Power Automate

  3. 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.

    Zrzut ekranu refaktorowania przepływu pulpitu

    Zrzut ekranu przedstawiający zaktualizowaną akcję niestandardową z dodatkowymi parametrami wejściowymi

  4. Przetestuj przepływ, aby zobaczyć, jak zaktualizowana akcja niestandardowa działa w czasie rzeczywistym.

    Przetestuj ponownie zaktualizowaną akcję niestandardową w przepływie pulpitu

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.