2017-09-18 59 views
10

Jestem w nieco starej konfiguracji Hudsona. Mamy opracowaną wtyczkę, która wysyła zapytanie do repozytorium Nexusa i ustawia niektóre parametry zadania. Wtyczka jest w Javie.Rozwój wtyczki Hudson/Jenkins: jak uzyskać zmienne środowiskowe innej wtyczki

Używamy także wycofanego SetEnv Plugin, w którym ustawiamy kilka zmiennych środowiskowych.

Nasza wtyczka zasadniczo rozszerza klasę ParameterDefinition, dając kilka opcji na ekranie budowy, a następnie klasy ParameterValue, ustawiając zmienne środowiskowe dla naszych zadań.

Nasz Parametr Definicja Classe:

class NexusQueryParameterDefinition extends ParameterDefinition 

Czy to możliwe, aby uzyskać dostęp do zmiennych środowiskowych zdefiniowanych w pluginie SetEnv z naszego parametrów klasy definicji?

Problem, że jestem w czasie definicji sparametryzowanej kompilacji, czyli ekranu pomiędzy naciśnięciem przycisku "buduj teraz" i po naciśnięciu przycisku "Kompiluj", aby rozpocząć proces. W tym momencie nie wiem, jak uzyskać dostęp do obiektu wystąpienia zadania i wierzę, że obiekt kompilacji zostanie utworzony po przesłaniu formularza.

Te zmienne środowiskowe są zachowywane w config.xml, więc jeśli mogę odczytać ten plik, mogę przeanalizować wartości.

Odpowiedz

0

Proponuję zbadać, korzystając z wtyczki Environment Injector i kodu groovy, aby zwrócić obiekt mapy w opcji Ustaw środowisko dla przebiegu w konfiguracji zadania.

-1

Czy próbowałeś czy zmienne środowiskowe są już wstrzykiwany do wykonywania? Środki dostępu do właściwości środowiska za pomocą System.getenv ("yourEnvVar");

Jeśli chcesz uzyskać dostęp do skonfigurowanych Env-Params w SetEnv-Plugin dla ścieżki migracji, będzie to trudniejsze. Ale dla migawki cse proponuję przeczytać config.xml i wyciągnąć konfigurację w twojej wtyczce.