도구: jira-tickets-for-new-vulns
jira-tickets-for-new-vulns은 Snyk에서 모니터된 프로젝트를 동기화하고 새로운 문제 및 이미 생성되지 않은 이슈에 대한 Jira 티켓을 자동으로 열 수 있도록 제공합니다.
매 X분/시간마다 Cron을 실행하여 이슈를 해결하세요. 이 도구는 정기적으로 실행되거나 선택한 트리거(웹훅)로 실행됩니다.
설치
릴리스 페이지에서 이진 파일을 사용합니다.
사용법 - 빠른 시작
./snyk-jira-sync-<yourplatform>
-orgID=<SNYK_ORG_ID> // 설정 아래에서 찾을 수 있음
-token=<API Token> // Snyk API 토큰. 서비스 계정이 작동합니다.
-jiraProjectKey=<키> // Jira 티켓이 열릴 프로젝트 키확장된 옵션
./snyk-jira-sync-<yourplatform>
--orgID=<SNYK_ORG_ID> // 설정 아래에서 찾을 수 있음
--projectID=<SNYK_PROJECT_ID> // 선택 사항. 제공하지 않으면 조직의 모든 프로젝트를 동기화합니다.
// 프로젝트 ID는 project->settings에서 찾을 수 있습니다.
--api=<API 엔드포인트> // 선택 사항. 사설 인스턴스의 경우 https://<인스턴스>/api로 설정
--token=<API 토큰> // Snyk API 토큰. 서비스 계정이 작동합니다.
--jiraProjectID=<12345> // Jira 티켓이 열릴 프로젝트 ID
--jiraProjectKey=<키> // Jira 티켓이 열릴 프로젝트 키
--jiraTicketType=<작업|버그|....> // 선택 사항. 열릴 티켓 유형. 기본값은 버그입니다. 아래의 'Notes' 섹션을 참조하세요.
--severity=<critical|high|medium|low> // 선택 사항. 티켓을 열기 위한 심각도 임계값. 기본값은 low입니다.
--maturityFilter=[mature,proof-of-concept,no-known-exploit,no-data] // 선택 사항. 성숙도 수준만 포함합니다. 쉼표로 구분됩니다.
--type=<all|vuln|license> // 선택 사항. 티켓을 열기 위한 이슈 유형. 기본값은 모두입니다.
--assigneeId=<123abc456def789> // 선택 사항. 티켓을 할당할 Jira 사용자 ID입니다. 참고: assigneeName과 assigneeId는 동시에 사용하지 마십시오.
--assigneeName=<계정이름> // 선택 사항. 티켓을 할당할 Jira 사용자 이름입니다. 참고: assigneeName과 assigneeId는 동시에 사용하지 마십시오.
--priorityIsSeverity // 선택 사항. 심각도에 따라 티켓 우선 순위를 설정합니다 (기본값: Low|Medium|High|Critical=>Low|Medium|High|Highest)
--labels=<이슈 레이블1>,이슈 레이블2 // 선택 사항. JIRA 티켓 레이블을 설정합니다
--priorityScoreThreshold=[0-1000] // 선택 사항. 최소 우선 순위 점수 임계값
--dryRun=<true|false> // 선택 사항. 결과는 도구가 실행되는 위치에 json 파일에서 찾을 수 있습니다
--debug=<true|false> // 선택 사항. 디버그 모드를 활성화합니다
--ifUpgradeAvailableOnly=<true|false> // 선택 사항. 업그레이드 가능한 문제에 대해서만 티켓을 생성합니다
--configFile // 루트가 아닌 경우 jira.yaml 경로제약 사항
이 도구는 인프라 구성 프로젝트를 지원하지 않습니다. 코드 및 오픈 소스 프로젝트에 대해서만 문제를 엽니다. 다른 프로젝트 유형은 무시됩니다.
우선 순위는 심각도입니다
문제의 Jira 티켓 우선 순위를 설정할 수 있는 옵션이 있습니다. 기본값은 다음과 같습니다:
critical
Highest
high
High
medium
Medium
low
Low
기본값을 무시하고 값을 설정하려면 SNYK_JIRA_PRIORITY_FOR_XXX_VULN 환경 변수를 사용하세요.
예: 심각한 심각성은 Jira에서 Hot Fix 우선 순위를 받아야 합니다.
export SNYK_JIRA_PRIORITY_FOR_CRITICAL_VULN='Hot Fix'
소스로부터 설치
리포지토리를 클론하고 빌드하세요:
go run main.go jira.go jira_utils.go vulns.go snyk.go snyk_utils.go
문제를 보고하세요.
의존성
JSON 파싱을 쉽게 만들어주는 https://github.com/michael-go/go-jsn/jsn github.com/tidwall/sjson github.com/kentaro-m/blackfriday-confluence gopkg.in/russross/blackfriday.v2
로그 파일
도구가 실행된 위치에 만들어진 모든 생성된 티켓이 나열된 로그 파일이 있습니다.
Jira.yaml
다음은 구성 파일 구조의 예시입니다. Jira 프로젝트에 사용자 정의 필수 필드가 구성된 경우 이러한 필드를 구성 파일에 추가해야 합니다. 사용자 정의 필드가 예상하는 키와 값 모두를 구성 파일의 customMandatoryFields 키에 추가하십시오:
참고:
토큰은 구성 파일에 포함되어 있지 않아야 합니다.
명령줄 인수가 구성 파일을 재정의합니다. 예: 위의 구성 파일을 사용하여
./snyk-jira-sync-macOs -Org=1234 -configFile=true -token=123를 실행하면 도구가 사용하는 조직 ID는 a1b2c3de-99b1-4f3f-bfdb-6ee4b4990513이 아니라 1234가 됩니다.기본값은 '확장된 옵션'을 참조하세요.
Jira 설정에서 구성된 문제 유형을 사용했는지 확인하십시오. 기본값은 Bug입니다. 사용 중인(또는 기본값) 유형이 Jira 설정에 있는지 확인하세요.
Last updated