G.....2
G.....2
#jenkins #python #devops #programowanie
cześć wariaty. Mam joba w jenkinsie, który buduje a potem hostuje lokalnie apkę w celu przeprowadzenia testów.
Chciałbym na końcu joba z testami "ubić" joba, który hostuje.
Doczytałem, że można to zrobić wysyłając POST do Jenkinsa pod adres:

/job//lastBuild/stop
Napisałem więc prosty skrypt w Pythonie:

import requests
import sys

def stop_current_build(job_name):
url = "http://localhost:9090/job/%s/lastBuild/stop" % (job_name)
print(url)
response = requests.post(url)
print(response.status_code)

if __name__ == "__main__":
stop_current_build(sys.argv[1])

URL jest dobry, ale niestety status code zwracany przez Jenkinsa to 403.
Job dalej działa.
Macie może pomysł jak ubić jednego joba za pomocą drugiego joba?
  • Najlepsze
  • Wszystkie komentarze
login-jest-zajety
@Glowacki92: brak/źle ustawione uprawnienia, dlatego rzuca 403
G.....2
G.....2
@login-jest-zajety:
ale gdzie te uprawnienia ustawić? w ustawieniach Jenkinsa?
k.....e
k.....e
@Glowacki92: nie masz uprawnień do wykonania tego zapytania
Klicker
Klicker
musisz sobie wygenerwoać API token w Jenkinsie i dodać go do query