Jenkins를 사용하다 보면 해당 job을 돌리기 전에 JSON값을 수정해야 하는 상황이 생길 수 있습니다.
이럴때 jq 를 사용하여 간단하게 할 수 있는데요
기본 내장 기능이 아니기 때문에 설치가 필요합니다.
brew install jq
설치 완료 후 변경할 JSON파일 이름과 변경할 대상 key, 그리고 변경할 value가 정해지면 아래의 양식으로 작성합니다.
jq ‘.values |= map(if .key == “{대상 key 명}” then .value = {변경할 값} . end)’ {변경할 json파일} > temp.json && mv temp.json {변경할 json파일}
변경할 JSON파일 이름이 user_info.json
변경할 대상 key가 user_token
변경할 value가 blabla 이면 아래처럼 변경할 수 있습니다.
jq ‘.values |= map(if .key == “user_token” then .value = "blabla" else . end)’ user_info.json > temp.json && mv temp.json user_info.json
변경할 value는 Jenkins parameter로 받아서 사용할 수도 있습니다.
만약 Jenkins parameter 이름이 token_value 라면 아래처럼 변경할 수 있습니다.
jq ‘.values |= map(if .key == “user_token” then .value = $token_value else . end)’ user_info.json > temp.json && mv temp.json user_info.json
이제 CLI나 Jenkins Execute Shell 에서 자유롭게 json파일의 값을 변경해봅시다~!
728x90
'Study > Jenkins' 카테고리의 다른 글
Jenkins JSONObject["scm"] is not a JSONObject 에러 해결하기 (0) | 2024.03.20 |
---|---|
Jenkins Pipeline Parallel 실행 하기 (젠킨스 파이프라인 병렬 실행) (0) | 2023.09.08 |
jenkins pipeline 결과 fail일 때 멈추지 않고 실행되도록 처리하기 & fail 이면 멈추기 (0) | 2022.03.02 |
Jenkins 원격 빌드 하기 - cURL 사용해보기 (3) | 2021.05.20 |
Jenkins Pipeline 스크립트 작성해보기 - Job 일괄 실행하기 (0) | 2021.05.20 |
댓글