отправить строку ошибки из скрипта Python в задание jenkins при ошибке - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть сценарий Python, который вызывается из jenkins сценария оболочки работы.Этот скрипт Python может не работать по нескольким причинам.Основываясь на сбое, мне нужно определить правильную причину сбоя.Я хочу, чтобы эта причина была отправлена ​​обратно в jenkins shell как-нибудь, и я опубликую это сообщение об ошибке по электронной почте или с помощью других средств уведомления.Я попытался установить переменную среды и получить доступ к ней в пост сборки.Но это не похоже на работу.Любая помощь приветствуется.Ниже приведен пример текстового кода

#!/usr/bin/python
a=False
b=True
if(a):
    raise exception("a is true")
if(b):
    raise exception("b is true")

Мне нужен этот "a is true" или "b is true" ответ, отправленный обратно в jenkins оболочку и для сбоя задания.

1 Ответ

0 голосов
/ 19 сентября 2019

Вам нужно выйти без исключения?он будет отмечать, что задание Jenkins не выполнено.

Лучше выйти из скрипта python с некоторым сообщением или кодом, кроме 1 и обработать сообщение или код на стороне Jenkins.

Теперь вы модифицируете скрипт python

#!/usr/bin/python
a=False
b=True
if(a):
    print ("a is true")
    exit(0)
if(b):
    print ("b is true")
    exit(0)

В приведенном выше примере ваша работа не будет помечена как невыполненная, и вы сможете вместо нее обрабатывать статус задания в Jenkins из скрипта python.

В скрипте Jenkins bash

script_response=$(python ab.py)

if [ "${script_response}" == "b is true" ]; then
   echo "B is true"
   exit 0
 else
   echo "B is flase"
   exit 1
fi
...