다음을 통해 공유


GitHubRelease@0 - GitHub 릴리스 v0 작업

이 작업을 사용하여 GitHub 릴리스를 만들거나 편집하거나 삭제할 수 있습니다.

Syntax

# GitHub Release v0
# Create, edit, or delete a GitHub release.
- task: GitHubRelease@0
  inputs:
    gitHubConnection: # string. Required. GitHub connection (OAuth or PAT). 
    repositoryName: '$(Build.Repository.Name)' # string. Required. Repository. Default: $(Build.Repository.Name).
    action: 'create' # 'create' | 'edit' | 'delete'. Required. Action. Default: create.
    #target: '$(Build.SourceVersion)' # string. Required when action = create || action = edit. Target. Default: $(Build.SourceVersion).
    tagSource: 'auto' # 'auto' | 'manual'. Required when action = create. Tag source. Default: auto.
    #tagPattern: # string. Optional. Use when tagSource = auto. Tag Pattern. 
    #tag: # string. Required when action = edit || action = delete || tagSource = manual. Tag. 
    #title: # string. Optional. Use when action = create || action = edit. Release title. 
    #releaseNotesSource: 'file' # 'file' | 'input'. Optional. Use when action = create || action = edit. Release notes source. Default: file.
    #releaseNotesFile: # string. Optional. Use when releaseNotesSource = file. Release notes file path. 
    #releaseNotes: # string. Optional. Use when releaseNotesSource = input. Release notes. 
    #assets: '$(Build.ArtifactStagingDirectory)/*' # string. Optional. Use when action = create || action = edit. Assets. Default: $(Build.ArtifactStagingDirectory)/*.
    #assetUploadMode: 'delete' # 'delete' | 'replace'. Optional. Use when action = edit. Asset upload mode. Default: delete.
    #isDraft: false # boolean. Optional. Use when action = create || action = edit. Draft release. Default: false.
    #isPreRelease: false # boolean. Optional. Use when action = create || action = edit. Pre-release. Default: false.
    #addChangeLog: true # boolean. Optional. Use when action = create || action = edit. Add changelog. Default: true.
  # Changelog configuration
    changeLogCompareToRelease: 'lastFullRelease' # 'lastFullRelease' | 'lastNonDraftRelease' | 'lastNonDraftReleaseByTag'. Required when addChangeLog = true. Compare to. Default: lastFullRelease.
    #changeLogCompareToReleaseTag: # string. Required when changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = true. Release Tag. 
    changeLogType: 'commitBased' # 'commitBased' | 'issueBased'. Required when addChangeLog = true. Changelog type. Default: commitBased.
    #changeLogLabels: '[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]' # string. Optional. Use when changeLogType = issueBased && addChangeLog = true. Categories. Default: [{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }].
# GitHub Release v0
# Create, edit, or delete a GitHub release.
- task: GitHubRelease@0
  inputs:
    gitHubConnection: # string. Required. GitHub connection (OAuth or PAT). 
    repositoryName: '$(Build.Repository.Name)' # string. Required. Repository. Default: $(Build.Repository.Name).
    action: 'create' # 'create' | 'edit' | 'delete'. Required. Action. Default: create.
    #target: '$(Build.SourceVersion)' # string. Required when action = create || action = edit. Target. Default: $(Build.SourceVersion).
    tagSource: 'auto' # 'auto' | 'manual'. Required when action = create. Tag source. Default: auto.
    #tag: # string. Required when action = edit || action = delete || tagSource = manual. Tag. 
    #title: # string. Optional. Use when action = create || action = edit. Release title. 
    #releaseNotesSource: 'file' # 'file' | 'input'. Optional. Use when action = create || action = edit. Release notes source. Default: file.
    #releaseNotesFile: # string. Optional. Use when releaseNotesSource = file. Release notes file path. 
    #releaseNotes: # string. Optional. Use when releaseNotesSource = input. Release notes. 
    #assets: '$(Build.ArtifactStagingDirectory)/*' # string. Optional. Use when action = create || action = edit. Assets. Default: $(Build.ArtifactStagingDirectory)/*.
    #assetUploadMode: 'delete' # 'delete' | 'replace'. Optional. Use when action = edit. Asset upload mode. Default: delete.
    #isDraft: false # boolean. Optional. Use when action = create || action = edit. Draft release. Default: false.
    #isPreRelease: false # boolean. Optional. Use when action = create || action = edit. Pre-release. Default: false.
    #addChangeLog: true # boolean. Optional. Use when action = create || action = edit. Add changelog. Default: true.

입력

gitHubConnection - GitHub 연결(OAuth 또는 PAT)
string. 필수 요소.

GitHub 리포지토리에 연결하는 데 사용할 GitHub 서비스 연결의 이름을 지정합니다. 연결은 GitHub 사용자의 OAuth 또는 GitHub 개인용 액세스 토큰을 기반으로 해야 합니다. 서비스 연결에 대한 자세한 내용은 서비스 연결 관리를 참조하세요.


repositoryName - 저장소
string. 필수 요소. 기본값은 $(Build.Repository.Name)입니다.

GitHub 릴리스를 만들거나 편집하거나 삭제할 GitHub 리포지토리의 이름을 지정합니다.


action - 작업
string. 필수 요소. 허용되는 값: create, edit, delete. 기본값은 create입니다.

수행할 릴리스 작업의 유형을 지정합니다. 이 작업은 GitHub 릴리스를 만들거나 편집하거나 삭제할 수 있습니다.


target - 대상
string. 필요한 경우 action = create || action = edit입니다. 기본값은 $(Build.SourceVersion)입니다.

GitHub 릴리스를 만드는 데 사용할 커밋 SHA를 지정합니다(예 48b11d8d6e92a22e3e9563a3f643699c16fd6e27: ). 이 필드에 와 같은 $(myCommitSHA)변수를 사용할 수도 있습니다.


tagSource - 태그 원본
string. 필요한 경우 action = create입니다. 허용되는 값: auto (Git 태그), manual (사용자 지정 태그). 기본값은 auto입니다.

릴리스 만들기에 사용할 태그를 지정합니다. auto (Git 태그) 옵션은 Git 커밋과 연결된 태그를 자동으로 사용합니다. manual (사용자 지정 태그) 옵션을 사용하여 태그를 수동으로 제공합니다.


tagPattern - 태그 패턴
string. 선택 사항입니다. 을 사용할 때 tagSource = auto사용합니다.

regex를 사용하여 Git 태그 패턴을 지정합니다(예 release-v1.*: ). GitHub 릴리스는 일치하는 Git 태그가 있는 커밋에 대해서만 만들어집니다.


tag - 태그
string. 필요한 경우 action = edit || action = delete || tagSource = manual입니다.

릴리스를 만들거나 편집하거나 삭제할 때 사용할 태그를 지정합니다. 이 필드에 와 같은 $(myTagName)변수를 사용할 수도 있습니다.


title - 릴리스 제목
string. 선택 사항입니다. 을 사용할 때 action = create || action = edit사용합니다.

GitHub 릴리스의 제목을 지정합니다. 비워 두면 태그가 릴리스 타이틀로 사용됩니다.


releaseNotesSource - 릴리스 정보 원본
string. 선택 사항입니다. 을 사용할 때 action = create || action = edit사용합니다. 허용되는 값: file (릴리스 정보 파일), input (인라인 릴리스 정보). 기본값은 file입니다.

GitHub 릴리스에 대한 설명을 지정합니다. file (릴리스 정보 파일) 옵션을 사용하여 파일 내용을 릴리스 정보로 사용합니다. input (인라인 릴리스 정보) 옵션을 사용하여 릴리스 정보를 수동으로 입력합니다.


releaseNotesFile - 릴리스 정보 파일 경로
string. 선택 사항입니다. 을 사용할 때 releaseNotesSource = file사용합니다.

릴리스 정보를 포함하는 파일을 지정합니다.


releaseNotes - 릴리스 정보
string. 선택 사항입니다. 을 사용할 때 releaseNotesSource = input사용합니다.

릴리스 정보를 지정합니다. Markdown이 지원됩니다.


assets - 자산
string. 선택 사항입니다. 을 사용할 때 action = create || action = edit사용합니다. 기본값은 $(Build.ArtifactStagingDirectory)/*입니다.

릴리스의 자산으로 업로드할 파일을 지정합니다. 와일드카드 문자를 사용하여 여러 파일을 지정할 수 있습니다. 예를 들어 빌드 파이프라인에 를 사용 $(Build.ArtifactStagingDirectory)/*.zip 하거나 릴리스 파이프라인에 를 사용합니다 $(System.DefaultWorkingDirectory)/*.zip .

줄당 하나씩 여러 패턴을 지정할 수도 있습니다. 기본적으로 디렉터리의 모든 파일이 $(Build.ArtifactStagingDirectory) 업로드됩니다. 사용할 수 있는 미리 정의된 변수 목록에 대한 자세한 내용은 빌드 변수릴리스 변수를 참조하세요.


assetUploadMode - 자산 업로드 모드
string. 선택 사항입니다. 을 사용할 때 action = edit사용합니다. 허용되는 값: delete (기존 자산 삭제), replace (기존 자산 바꾸기). 기본값은 delete입니다.

사용하려는 자산 업로드 모드를 지정합니다. delete (기존 자산 삭제) 옵션을 사용하여 먼저 릴리스에서 기존 자산을 삭제한 다음 모든 자산을 업로드합니다. replace (기존 자산 바꾸기) 옵션을 사용하여 이름이 같은 자산을 바꿉니다.


isDraft - 초안 릴리스
boolean. 선택 사항입니다. 을 사용할 때 action = create || action = edit사용합니다. 기본값은 false입니다.

릴리스를 초안으로 저장할지 여부를 나타냅니다(게시되지 않음). 이면 false릴리스가 게시됩니다.


isPreRelease - 시험판
boolean. 선택 사항입니다. 을 사용할 때 action = create || action = edit사용합니다. 기본값은 false입니다.

릴리스를 시험판으로 표시할지 여부를 나타냅니다.


addChangeLog - 변경 로그 추가
boolean. 선택 사항입니다. 을 사용할 때 action = create || action = edit사용합니다. 기본값은 true입니다.

changelog를 포함할지를 지정합니다. 로 true설정하면 현재 릴리스와 마지막으로 게시된 릴리스 간의 변경 내용 목록(커밋 및 문제)이 생성되고 릴리스 정보에 추가됩니다.


changeLogCompareToRelease - 비교
string. 필요한 경우 addChangeLog = true입니다. 허용되는 값: lastFullRelease (마지막 전체 릴리스), lastNonDraftRelease (마지막 초안이 아닌 릴리스), lastNonDraftReleaseByTag (태그별 마지막 초안이 아닌 릴리스). 기본값은 lastFullRelease입니다.

changelog를 생성하기 위해 비교할 릴리스를 나타냅니다.

  • lastFullRelease (마지막 전체 릴리스): 현재 릴리스를 시험판으로 표시되지 않은 최신 초안이 아닌 릴리스와 비교합니다.
  • lastNonDraftRelease (마지막 초안이 아닌 릴리스): 현재 릴리스와 가장 최근의 초안이 아닌 릴리스를 비교합니다.
  • lastNonDraftReleaseByTag (태그별 마지막 초안이 아닌 릴리스): 현재 릴리스를 지정된 태그와 일치하는 마지막 초안이 아닌 릴리스와 비교합니다. 정확한 태그 대신 regex를 지정할 수도 있습니다.

changeLogCompareToReleaseTag - 릴리스 태그
string. 필요한 경우 changeLogCompareToRelease = lastNonDraftReleaseByTag && addChangeLog = true입니다.

릴리스 태그의 regex를 지정합니다. 이 태그와 일치하는 릴리스는 변경 로그 계산의 기반으로 사용됩니다.


changeLogType - Changelog 형식
string. 필요한 경우 addChangeLog = true입니다. 허용되는 값: commitBased (커밋 기반), issueBased (문제 기반). 기본값은 commitBased입니다.

changelog 형식을 지정합니다. 변경 로그는 커밋 기반 또는 문제 기반일 수 있습니다. 커밋 기반 변경 로그는 릴리스에 포함된 모든 커밋을 나열합니다. 문제 기반 변경 로그는 릴리스에 포함된 모든 문제 또는 PR(끌어오기 요청)을 나열합니다.


changeLogLabels - 카테고리
string. 선택 사항입니다. 를 사용하는 경우 changeLogType = issueBased && addChangeLog = true를 사용합니다. 기본값은 [{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]입니다.

문제 또는 PR과 연결된 레이블에 따라 변경 내용을 분류합니다. 레이블의 경우 범주의 표시 이름과 문제 상태를 멘션 수 있습니다. 레이블의 예로는 가 있습니다 "[{ "label" : "bug", "displayName" : "Bugs", "state" : "closed" }]". 변경 내용에 여러 레이블이 있는 경우 첫 번째 지정된 레이블이 우선합니다. 문제 또는 PR의 플랫 목록을 보려면 이 필드를 비워 둡니다.


작업 제어 옵션

모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.

출력 변수

없음

설명

이 작업의 최신 버전은 GitHubRelease@1 사용할 수 있습니다.

요구 사항

요구 사항 Description
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
실행 중 에이전트, DeploymentGroup
요청 없음
Capabilities 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다.
명령 제한 사항 모두
Settable 변수 모두
에이전트 버전 2.0.0 이상
작업 범주 유틸리티