일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- artifacts
- 포렌식
- ISMS
- 쿠버네티스
- iam
- 실습
- kubernetes
- AWS Elasticsearch
- hacking case
- 보안기사
- 모의해킹
- 해킹
- 보안
- 정보보안
- 정보보안기사
- isms-p
- The Sleuth Kit
- AWS Opensearch
- forensic
- AWS 쿠버네티스
- AWS EKS Udemy
- 정보보안기사 실기
- AWS
- Autopsy
- TSK
- SMS-P 인증 기준 안내서 요약
- k8s
- CFReDS
- AWS EKS
- ISMS-P 인증심사원
- Today
- Total
Always-Try(정보보안 및 일상)
[jquery] ghcr packages API 쿼리 with curl jq 본문
https://docs.github.com/en/rest/packages?apiVersion=2022-11-28
1. 전체 패키지 name 출력 후 1개의 배열로 묶어줌
curl -L -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_PAT_TOKEN_VALUE" -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/orgs/YOUR_ORG_NAME/packages\?package_type\=container | jq -c '[.[] | .name]'
2. 첫번째 패키지 name을 $test_nam 변수에 저장
export test_nam=$(curl -L -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_PAT_TOKEN_VALUE" -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/orgs/YOUR_ORG_NAME/packages\?package_type\=container | jq -c '.[0] | .name')
3. 2번 변수 값 앞뒤에 " 따옴표 제거
temp="${test_nam%\"}"
temp="${temp#\"}"
4. 특정 패키지의 최신 태그 버전 출력(패키지 이름은 변수 사용)
curl -L -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_PAT_TOKEN_VALUE" -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/orgs/YOUR_ORG_NAME/packages/container/$temp/versions | jq '.[0] | .metadata | .container | .tags[0]'
5. 버전 정보 변수 저장
test_ver=$(curl -L -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_PAT_TOKEN_VALUE" -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/orgs/tf-dive/packages/container/$temp/versions | jq '.[0] | .metadata | .container | .tags[0]')
echo $test_ver
tamp="${test_ver%\"}"
tamp="${tamp#\"}"
echo $tamp
6. 첫번째 패키지 repo 출력
curl -L -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_PAT_TOKEN_VALUE" -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/orgs/YOUR_ORG_NAME/packages\?package_type\=container | jq -c '.[0] | .repository | .name'
7. 전체 패키지 repo 배열로 저장
curl -L -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_PAT_TOKEN_VALUE" -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/orgs/YOUR_ORG_NAME/packages\?package_type\=container | jq -c '[.[] | .repository | .name]'
8. 패키지 repo 변수 저장 및 따옴표 제거
test_rep=$(curl -L -H "Accept: application/vnd.github+json" -H "Authorization: Bearer YOUR_PAT_TOKEN_VALUE" -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/orgs/YOUR_ORG_NAME/packages\?package_type\=container | jq -c '.[0] | .repository | .name')
tomp="${test_rep%\"}"
tomp="${tomp#\"}"
echo $tomp
이제 필요한 3개가 변수로 저장되었다.
- 이미지명은 $temp
- 태그버전은 $tamp
- Rep는 $tomp
'Unclassified' 카테고리의 다른 글
CVE 취약점 알림봇 만들기 (슬랙 RSS 앱) (0) | 2023.01.12 |
---|---|
[OKTA] #4. 정책 Policy (0) | 2022.05.01 |
[OKTA] #3. Authorization Server (인증 서버) (0) | 2022.05.01 |
[OKTA] #2. OAuth 2.0 및 OpenID Connect 개요 (0) | 2022.05.01 |
[OKTA] #1. OKTA란? (지원 기능 및 데이터 모델) (2) | 2022.05.01 |