Как получить дополнительный контент после запуска ReadFile в Jenkins

0

Вопрос

У меня есть вопрос о том, как получить дополнительный контент после запуска ReadFile в Jenkins.

Я печатаю содержимое после чтения файла методом groovy в Дженкинсе

содержимое выглядит следующим образом


Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: asdfasdf
Team: {org=org1, team=team1}
ABCD: {org=org2, team=team2}
ABCDE: {org=org3, team=team3}
Bundle-Vendor: xxxxx

Я просто хочу, чтобы эта строка была в содержании

Team: {org=org1, team=team1}
ABCD: {org=org2, team=team2}
ABCDE: {org=org3, team=team3}

но как??

есть какие-нибудь Решения?

groovy jenkins
2021-11-23 07:08:27
1

Лучший ответ

0

Содержимое вашего файла выглядит так, как будто это файл свойств, поэтому вы можете использовать ключевое слово readProperties, которое является частью шагов утилиты конвейера, чтобы прочитать файл на карте, что позволит вам легко получить доступ ко всем значениям:

readProperties: Считывание свойств из файлов в рабочей области или текста.
Считывает файл в текущем рабочем каталоге или строку в виде обычного текстового файла свойств Java. Возвращаемый объект представляет собой обычную карту со строковыми ключами. Карта также может быть предварительно загружена значениями по умолчанию перед чтением/анализом данных.

Теперь у вас есть легкий доступ к ключам и значениям.
В вашем случае это может выглядеть так:

def props = readProperties file: 'YOUR_FILE_PATH'

// You can now access all values from the props map
def content = "Team: ${props.Team}" 

Если вам просто нужна строка, основанная на анализе содержимого файла, вы можете прочитать файл, разделить содержимое на новые строки и использовать что-то вроде следующего:

def lines = readFile('YOUR_FILE_PATH').split("\n").trim()

// Get a constant line
def content = lines[4]

// Get a line by prefix
def content = lines.find{ it.startsWith('Team')}
2021-11-23 09:05:03

это файл манифеста, я не уверен, к какому типу относится этот файл.
user1938143

Файлы манифеста могут быть разных форматов. В любом случае вы можете использовать вторую часть ответа.
Noam Helmer

Привет, спасибо за ваше решение, я переиздал свой вопрос. можете ли вы дать мне решение?
user1938143

ваше первое решение с возможностями чтения Я думаю, что это лучшее решение, но я переделал свой файл манифеста, я просто хочу получить все ключи и значения , если значение {orga:, team: } равно
user1938143

@user1938143 не уверен, что изменилось в вопросе, но вы все равно можете использовать оба варианта в ответе...
Noam Helmer

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................