Извлечение скрипта python из скрипта groovy с использованием job DSL

#python #jenkins #groovy

#питон #дженкинс #заводной

Вопрос:

Ссылаясь на документ: https://jenkinsci.github.io/job-dsl-plugin/#path/freeStyleJob-steps-python Я пытаюсь настроить свою работу автоматически с помощью groovy. Задание выполнит фрагмент кода python. Что — то вроде этого:

 import os
from Reporting.MSTest import MSTest
jsonFile = os.path.join(os.getenv('temp')
 

Вот фрагмент кода. Который добавит приведенный выше скрипт python в этапы сборки задания

 # the job name is "jobName"
jobA = freeStyleJob("jobName")
jobA.with {
    steps {
        python {
            command(String 'import os')
        }
    }
}
 

Это не работает. Пожалуйста, помогите!

Комментарии:

1. command Содержит имя файла для скрипта python, а не кода python

Ответ №1:

Дженкинс DSL «python» относится к плагину Shining Panda, а не к плагину python script. Это стоит иметь в виду, если вы, как и я, используете плагин python script.

К сожалению, плагин python script не имеет API, но вы можете использовать configure closure для добавления этого прямого.

 configure { node ->
  node / builders / 'hudson.plugins.python.Python' / command << readFileFromWorkspace('<script location>')
}
 

Это сработало для меня, так как я люблю читать из сценария для простоты, или вы могли бы добавить direct с помощью ‘command (‘import os’)’