확장 매니페스트 참조

속성 설명 참고
manifestVersion 매니페스트 형식의 버전에 해당 하는 숫자입니다. 이어야 1 합니다.
ID 확장의 식별자입니다. 번째 ID는 동일한 게시자의 확장에서 고유 해야 하는 문자열입니다. 영문자 또는 숫자로 시작 하 고 ' A ' ~ ' Z ', ' a ' ~ ' z ', ' 0 ' ~ ' 9 ' 및 '-' (하이픈)을 포함 해야 합니다. 예: sample-extension.
version 확장의 버전을 지정 하는 문자열입니다. 형식 이어야 합니다 major.minor.patch (예: 또는) 0.1.21.0.0 . 다음 형식의 네 번째 숫자를 추가할 수도 있습니다. 0.1.2.3
name 사람이 읽을 수 있는 간단한 확장 이름입니다. 200 자로 제한 됩니다. 예: "Fabrikam Agile Board Extension".
publisher 게시자의 식별자입니다. 이 식별자는 확장이 게시 된 식별자와 일치 해야 합니다. 게시자 만들기 및 관리를참조 하세요.
범주 확장이 속한 범주를 나타내는 문자열의 배열입니다. 하나 이상의 범주를 제공 해야 하 고 포함할 수 있는 범주 수에 제한이 없습니다. 유효한 값은 Azure Repos , Azure Boards , Azure Pipelines , Azure Test PlansAzure Artifacts 입니다.

참고:
  • >프로그래밍 방식으로 확장을 게시 하는 경우 tfx-cli의 version = 0.6.3을 사용 합니다.
  • Azure DevOps 확장 작업 확장 을 사용 하 여 게시 하는 경우 해당 버전이 = 1.2.8 인지 확인 합니다. 최근 범위 변경 때문에 확장 업데이트를 승인 해야 할 수도 있습니다.
  • 이전에 언급 한 범주는 Visual Studio Marketplace 및 Azure DevOps Server 2019에 기본적으로 제공 됩니다 & . 이전 버전의 TFS를 대상으로 하는 확장의 경우:
    • TFS 고객이 연결 된 컨텍스트에서 지역 갤러리가 아닌 Visual Studio Marketplace를 통해 확장을 확보 한 후에는 이전에 설명한 범주를 사용 합니다.
    • TFS = 2018를 사용 하는 고객과 직접 (즉, Visual Studio Marketplace를 통해) 확장을 공유 하려는 경우 < 코드, 계획 및 추적, 빌드 및 릴리스, 테스트, 공동 작업 및 통합 범주를 대신 사용 합니다. Visual Studio Marketplace를 통해, TFS = 2018 고객과 직접 공유 해야 하는 경우 < 2 개의 확장 패키지가 있어야 합니다.
대상 통합 또는 확장에서 지원 되는 제품 및 서비스입니다. 자세한 내용은 설치 대상을 참조 하세요. 각 개체에 id 다음 중 하나를 나타내는 필드가 있는 개체의 배열입니다.
  • Microsoft.VisualStudio.Services(Azure DevOps 또는 TFS에서 작동 하는 확장)
  • Microsoft.TeamFoundation.Server (TFS와 함께 작동 하는 확장)
  • Microsoft.VisualStudio.Services.Integration(Azure DevOps 또는 TFS와 작동 하는 통합)
  • Microsoft.TeamFoundation.Server.Integration (TFS와 작동 하는 통합)

필수 특성의 예

{
    "manifestVersion": 1,
    "id": "tools",
    "version": "0.1.0",
    "name": "Fabrikam Tools",
    "publisher": "fabrikam",
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ]
}

선택적 특성

런타임 특성

속성 설명 참고
영역 확장 프로그램에 필요한 사용 권한을 나열 하는 권한 부여 범위 (문자열)의 배열입니다. 예를 들어 vso.work 및는 vs.code_write 확장에서 작업 항목에 대 한 읽기 전용 액세스와 소스 코드 및 관련 리소스에 대 한 읽기/쓰기 액세스를 필요로 함을 나타냅니다. 확장을 설치할 때 범위가 사용자에 게 표시 됩니다. 자세한 내용은 범위의 전체 목록을 참조 하세요.
수요 확장 프로그램에 필요한 기능을 나열 하는 요청 (문자열)의 배열입니다. 예를 들어 api-version/3.0 는 확장에서 버전 3.0 api를 사용 하므로이 버전을 지원 하지 않는 이전 제품에서 실행할 수 없음을 나타냅니다. 자세한 내용은 전체 요청 목록을참조 하십시오.
baseUri (선택 사항) 확장의 기여에 지정 된 모든 상대 Url의 기본 URL입니다. 예: https://myapp.com/{{account.name}}/ 확장의 내용이 확장을 사용 하 여 패키지 되는 경우이 속성은 비워 두어야 합니다.
물을 시스템에 대 한 기여의 배열입니다.
contributionTypes 확장에 의해 정의 된 기여 형식의 배열입니다.
{
    "scopes": [
        "vso.work",
        "vso.code_write",
        "vso.build_execute"
    ],
    "demands": [
        "api-version/3.0"
    ],
    "contributions": [
        {
            "id": "showCommits",
            "type": "ms.vss-web.action",
            "description": "Adds a menu action from builds grid to show associated items.",
            "targets": [
                "ms.vss-build-web.completed-build-menu"
            ],
            "properties": {
                "title": "View associated items",
                "uri": "launch.html"
            }
        }
    ]
}

검색 특성

이러한 선택적 속성은 사용자가 확장을 검색 하 고 파악 하는 데 도움이 됩니다.

속성 설명 참고
description 확장을 설명 하는 몇 가지 문장입니다. 200 자로 제한 됩니다. 설명은 Marketplace에서 확장을 설명 하 고 사용자가 설치할 수 있도록 하는 확장의 "엘리베이터 피치" (두 줄)입니다. 아래 예제를 참조 하세요.
아이콘 확장을 나타내는 아이콘의 사전입니다. 유효한 키: default BMP, GIF, EXIF, JPG, PNG 및 TIFF 형식의 (128x128 픽셀) large(512x512 픽셀)와 같은 기타 키는 나중에 지원 될 수 있습니다. 각 키의 값은 확장에 있는 아이콘 파일의 경로입니다.
태그 사용자가 확장을 찾는 데 도움이 되는 문자열 태그의 배열입니다. 예: agile , project management , task timer 등.
스크린샷 내용에 포함할 수 없는 이미지의 배열입니다. 스크린샷은 콘텐츠에추천 될 때 더 유용 하며, 확장에 대 한 품질 시장 정보 페이지를 만드는 데 사용 해야 합니다. 콘텐츠에는 중요 하지 않은 작은 이미지에 대 한 스크린샷을 사용 합니다. 각 이미지는 1366x768 픽셀 이어야 합니다. path각 항목의는 확장명의 파일에 대 한 경로입니다.
content 사용자에 대 한 확장을 설명 하는 콘텐츠 파일의 사전입니다. 모든 확장에는 단색 콘텐츠가 포함 되어야 합니다. 사용자가 확장에서 수행할 수 있는 작업을 표시 하는 방법입니다. 필요에 따라 풍부한 기능을 제공 하 고 스크린샷을 포함 해 만드세요. 파일을 overview.md 기본 콘텐츠 조각으로 포함 합니다. 각 파일은 GitHub Flavored Markdown 형식으로 가정됩니다. path각 항목의 는 확장에 있는 markdown 파일의 경로입니다. 유효한 키: details . 다른 키는 나중에 지원될 수 있습니다.
링크 사용자가 확장에 대해 자세히 알아보고, 지원을 받고, 이동하는 데 도움이 되는 링크의 사전입니다. 유효한 키: getstarted - 첫 번째 단계, 설정 또는 사용 방법 learn - 사용자가 확장 또는 서비스를 더 잘 이해하는 데 도움이 되는 보다 심층적인 콘텐츠입니다. license - 최종 사용자 사용권 계약. privacypolicy - 확장에 대한 개인 정보 취급 방침입니다. support - 확장에 대한 도움말 및 지원을 받습니다. 각 키의 값은 uri 링크의 절대 URL인 필드가 있는 개체입니다.
저장소 확장의 소스 코드 리포지토리를 설명하는 속성 사전 유효한 키: type - 리포지토리의 유형입니다. 예: git. uri - 리포지토리의 절대 URL입니다.
배지 승인된 배지 사이트에서의 외부 메타데이터 배지(예: TravisCI, App 표시기 등)에 대한 링크 배열 유효한 키: href - 배지를 선택할 때 사용자가 탐색하는 링크입니다. uri - 표시할 배지 이미지의 절대 URL입니다. description - 가리키면 표시되는 배지에 대한 설명입니다.
브랜딩 브랜드 관련 속성의 사전입니다. 유효한 키: color - 확장 또는 게시자의 기본 색이며, 16진수(#ff00ff), RGB(rgb(100,200,50) 또는 지원되는 HTML 색 이름(파란색)일 수 있습니다. theme - 색을 보완합니다. 어두운 브랜딩 색의 경우 theme 사용하고 더 밝은 브랜딩 색의 경우 밝게을 사용합니다.

확장을 공용으로 표시

기본적으로 Azure DevOps Marketplace의 모든 확장은 프라이빗입니다. 게시자 및 게시자가 공유하는 계정에만 표시됩니다. 게시자가 확인된 경우 확장 매니페스트에서 플래그를 설정하여 확장을 공용으로 만들 수 있습니다. Public

{
    "galleryFlags": [
        "Public"
    ]
}            

또는

{
    "public": true
}            

자세한 내용은 패키지/게시/설치를 참조하세요.

확장을 미리 보기로 표시

Marketplace의 사용자가 시도할 수 있는 확장이 준비되었지만 여전히 몇 가지 버그를 파악하거나 함수를 추가하는 경우 로 표시할 수 있습니다. preview

{
    "galleryFlags": [
        "Preview"
    ]
}            

확장을 유료 미리 보기로 표시

나중에 Marketplace에서 확장을 판매하려는 경우 유료 미리 보기로 표시해야 합니다. 무료로 표시된 확장은 나중에 유료로 표시할 수 없습니다.

{
    "galleryFlags": [
        "Paid",
        "Preview"
    ]
}            

확장을 유료로 표시

Marketplace에서 확장을 판매하려는 경우 플래그 및 태그를 사용하여 표시할 수 Paid__BYOLENFORCED 있습니다(두 개의 밑호로 시작).

{
    "galleryFlags": [
        "Paid"        
    ],
     "tags": [        
        "__BYOLENFORCED"
    ]
}            

PaidMarketplace에서 확장을 유료로 표시하려면 플래그와 태그가 모두 __BYOLENFORCED 있어야 합니다. BYOL은 Microsoft에서 Azure DevOps 확장을 위해 제공하지 않기 때문에 확장 게시자가 확장에 대한 청구 및 라이선스 메커니즘을 제공한다는 의미입니다. 개인 정보 취급 방침, 지원 정책 및 최종 사용자 사용권 계약을 정의하려면 모든 유료 확장이 필요합니다. 또한 게시자는 다음과 같이 Marketplace의 가격 책정 탭에 대한 콘텐츠를 제공해야 합니다.

{
    "content": {
        "details": {
            "path": "overview.md"
        }, 
        "pricing": {
            "path": "pricing.md"
        }
    }
}          

또한 유료 라이선스를 재정의하려면 확장 매니페스트에 새 섹션을 추가해야 합니다. 나중에 유료 라이선스 검사를 제거하고 더 이상 재정의가 필요하지 않습니다. 지금은 확장이 예상대로 표시되는지 확인합니다. 각 재정의는 "id" 및 "동작"으로 구성됩니다. "id"는 매니페스트에 정의된 기여의 ID와 일치해야 합니다.

"licensing": {

      "overrides": [

        { "id": "my-hub", "behavior": " AlwaysInclude" }
      ]
    }

유료 BYOL 확장이 평가 기간을 제공하는 경우(권장) 평가판의 길이를 일로 지정할 수 있습니다.

{
    "galleryproperties": {
        "trialDays": "30"
    } 
}          

참고

TFS를 대상으로 지정하지만 확장에 대한 다운로드 옵션을 표시하지 않으려면 확장 __DoNotDownload 매니페스트에 태그(두 개의 밑줄로 시작)를 추가합니다. 미리 제공된 청구 라이선스에서 Microsoft의 BYOL 모델로 확장을 이동하는 경우 & Microsoft에 문의하면 적절한 단계를 제공해 드리겠습니다.

더 많은 속성의 예

{
    "description": "Awesome tools to help you and your team do great things everyday.",
    "icons": {
        "default": "images/fabrikam-logo.png"
    },
    "categories": [
        "Plan and track"
    ],
    "tags": [
        "working",
        "people person",
        "search"
    ],
    "content": {
        "details": {
            "path": "overview.md"
        },
        "license": {
            "path": "license-terms.md"
        }
    },
    "links": {
        "home": {
            "uri": "https://www.fabrikam-fiber-inc.com"
        },
        "getstarted": {
            "uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
        },
        "learn": {
            "uri": "https://www.fabrikam-fiber-inc.com/features"
        },
        "support": {
            "uri": "https://www.fabrikam-fiber-inc.com/support"
        },
        "repository": {
            "uri": "https://github.com/fabrikam-fiber-inc/tools"
        },
        "issues": {
            "uri": "https://github.com/fabrikam-fiber-inc/tools/issues"
        }
    },
    "repository": {
        "type": "git",
        "uri": "https://github.com/fabrikam-fiber-inc/tools"
    },
    "badges": [
        {
            "href": "https://travis.ci/fabrikam-fiber-inc/myextension",
            "uri": "https://travis.ci/fabrikam-fiber-inc/myextension.svg?branch=master",
            "description": "TravisCI build for the project"
        },
        {
            "href": "https://ci.appveyor.com/projects/fabrikam-fiber-inc/myextension",
            "uri": "https://ci.appveyor.com/api/projects/status/vlg2sgs2y7tsdxpj4c?svg=true",
            "description": "AppVeyor build for the project"
        }
    ],
    "branding": {
        "color": "rgb(34, 34, 34)",
        "theme": "dark"
    },
    "screenshots": [
        {
            "path": "screenshots/screen1.png"
        },
        {
            "path": "screenshots/screen2.png"
        }
    ]
}

세부 정보 페이지 예제

  • 1 - 설명
  • 2 - 아이콘
  • 3 - 범주
  • 4 - 스크린샷
  • 5 - 콘텐츠(세부 정보)
  • 6 - 링크
  • 7 - 브랜딩

카드

Marketplace Q & A - CustomerQnASupport 속성

Visual Studio Marketplace의 모든 확장에는 & 확장 사용자와 게시자 간에 일대일 공개 대화를 허용하는 Q A 섹션이 있습니다. 게시자는 Marketplace Q & A, GitHub 문제 또는 사용자 지정 Q A URL 중에서 선택할 수 & 있습니다. &매니페스트의 CustomerQnASupport 속성을 사용하여 Marketplace에서 Q A를 사용하지 않도록 설정할 수 있습니다.

기본 환경(매니페스트를 변경할 필요가 없음)

  • GitHub 리포지토리가 있는 확장의 경우 Marketplace는 Q A 섹션의 사용자를 & 관련 GitHub 문제로 리디렉션합니다.
  • GitHub 리포지토리가 없는 확장의 경우 Marketplace Q & A를 사용하도록 설정됩니다.

기본 옵션 중 하나와 다른 환경의 경우 매니페스트에서 CustomerQnASupport 속성을 사용합니다.

{
    "CustomerQnASupport": {
        "enablemarketplaceqna": true,
        "url": "http://uservoice.visualstudio.com"
    } 
}

속성

고객 Q & A 지원 섹션의 속성:

  • enablemarketplaceqna - 부울 필드, 마켓플레이스 또는 사용자 지정 Q A에 대해 true로 설정, Q A를 사용하지 않도록 설정하면 false &
  • url - 문자열, 사용자 지정 Q A에 대한 URL

Q A 지원의 사용량을 보여주는 예제 &

예제 10: 사용자 지정 Q A를 사용한 확장 &

{
     "CustomerQnASupport": {
        "enablemarketplaceqna":"true",
        "url": "http://uservoice.visualstudio.com"
    } 
}

예제 11: GitHub 리포지토리를 사용하지만 GitHub 문제 대신 Marketplace Q A를 사용하는 확장 &

{
     "CustomerQnASupport": {
        "enablemarketplaceqna":"true"
    } 
}

예제 12: Q A 섹션을 사용하지 않도록 하는 확장 &

{
     "CustomerQnASupport": {
        "enablemarketplaceqna":"false"
    } 
}

범위

확장은 하나 이상의 범위를 지정할 수 있습니다. 범위는 확장에서 액세스할 수 있는 리소스와 확장에서 해당 리소스로 수행할 수 있는 작업을 제어합니다. 확장 매니페스트에서 지정하는 범위는 확장에 발급된 액세스 토큰에 설정된 범위입니다. 자세한 내용은 인증 및 보안을 참조하세요.

범위를 지정하지 않으면 확장에 사용자 프로필 및 확장 데이터에 대한 액세스 권한만 제공됩니다.

지원되는 범위

Category 범위 이름 설명
에이전트 풀 vso.agentpools 에이전트 풀(읽기) 태스크, 풀, 큐, 에이전트 및 에이전트에 대해 현재 실행 중이거나 최근에 완료된 작업을 볼 수 있는 기능을 부여합니다.
vso.agentpools_manage 에이전트 풀(읽기, 관리) 풀, 큐 및 에이전트를 관리하는 기능을 부여합니다.
vso.environment_manage 환경(읽기, 관리) 풀, 큐, 에이전트 및 환경을 관리하는 기능을 부여합니다.
분석 vso.analytics 분석(읽기) 분석 데이터를 쿼리하는 기능을 부여합니다.
감사 로그 vso.auditlog 감사 로그 (읽기) 사용자에 게 감사 로그를 읽을 수 있는 기능을 부여 합니다.
빌드 vso.build 빌드 (읽기) 빌드 결과, 정의 및 요청, 서비스 후크를 통해 빌드 이벤트에 대 한 알림을 수신 하는 기능을 비롯 하 여 빌드 아티팩트에 액세스할 수 있는 기능을 부여 합니다.
vso.build_execute 빌드 (읽기 및 실행) 빌드 결과, 정의 및 요청, 빌드를 큐에 대기 하는 기능, 빌드 속성 업데이트 및 서비스 후크를 통해 빌드 이벤트에 대 한 알림을 수신 하는 기능을 포함 하 여 빌드 아티팩트에 액세스할 수 있는 기능을 부여 합니다.
코드 vso.code 코드(읽기) 커밋, 변경 집합, 분기 및 기타 버전 제어 아티팩트에 대 한 소스 코드 및 메타 데이터를 읽을 수 있는 기능을 부여 합니다. 는 또한 코드를 검색 하 고 서비스 후크를 통해 버전 제어 이벤트에 대 한 알림 메시지를 받을 수 있는 기능을 부여 합니다.
vso.code_write 코드 (읽기 및 쓰기) 소스 코드를 읽고, 업데이트 하 고, 삭제 하 고 커밋, 변경 집합, 분기 및 기타 버전 제어 아티팩트에 대 한 메타 데이터에 액세스 하는 기능을 부여 합니다. 는 또한 끌어오기 요청 및 코드 검토를 만들고 관리 하 고 서비스 후크를 통해 버전 제어 이벤트에 대 한 알림을 수신 하는 기능을 부여 합니다.
vso.code_manage 코드 (읽기, 쓰기 및 관리) 소스 코드를 읽고, 업데이트 하 고, 삭제 하 고 커밋, 변경 집합, 분기 및 기타 버전 제어 아티팩트에 대 한 메타 데이터에 액세스 하는 기능을 부여 합니다. 는 또한 코드 리포지토리를 작성 및 관리 하 고, 끌어오기 요청 및 코드 검토를 만들고 관리 하 고, 서비스 후크를 통해 버전 제어 이벤트에 대 한 알림을 수신 하는 기능을 부여 합니다.
vso.code_full 코드 (전체) 소스 코드에 대 한 모든 액세스 권한, 커밋, 변경 집합, 분기 및 기타 버전 제어 아티팩트에 대 한 메타 데이터를 부여 합니다. 는 또한 코드 리포지토리를 작성 및 관리 하 고, 끌어오기 요청 및 코드 검토를 만들고 관리 하 고, 서비스 후크를 통해 버전 제어 이벤트에 대 한 알림을 수신 하는 기능을 부여 합니다. 또한에는 클라이언트 OM Api에 대 한 제한 된 지원도 포함 됩니다.
vso.code_status 코드 (상태) 커밋 및 끌어오기 요청 상태를 읽고 쓰는 기능을 부여 합니다.
자격 vso.entitlements 자격 (읽기) 계정 자격을 얻기 위해 라이선스 자격 끝점에 대 한 읽기 전용 액세스를 제공 합니다.
vso.memberentitlementmanagement MemberEntitlement 관리 (읽기) 사용자, 해당 라이선스 및 사용자가 액세스할 수 있는 프로젝트 및 확장을 읽을 수 있는 기능을 부여 합니다.
vso.memberentitlementmanagement_write MemberEntitlement 관리 (쓰기) 사용자, 해당 라이선스 및 사용자가 액세스할 수 있는 프로젝트 및 확장을 관리 하는 기능을 부여 합니다.
확장 vso.extension 확장 (읽기) 설치 된 확장을 읽을 수 있는 기능을 부여 합니다.
vso.extension_manage 확장 (읽기 및 관리) 설치 된 확장에 대 한 기타 관리 작업을 설치, 제거 및 수행할 수 있는 기능을 부여 합니다.
vso.extension.data 확장 데이터 (읽기) 설치 된 확장에 의해 저장 된 데이터 (설정 및 문서)를 읽을 수 있는 기능을 부여 합니다.
vso.extension.data_write 확장 데이터 (읽기 및 쓰기) 설치 된 확장에 의해 저장 된 데이터 (설정 및 문서)를 읽고 쓸 수 있는 기능을 부여 합니다.
Graph id vso.graph Graph (읽기) 사용자, 그룹, 범위 및 그룹 멤버 자격 정보를 읽을 수 있는 기능을 부여 합니다.
vso.graph_manage Graph (관리) 사용자, 그룹, 범위 및 그룹 멤버 자격 정보를 읽고 사용자, 그룹 및 그룹 멤버 자격을 관리 하는 기능을 부여 합니다.
vso.identity ID(읽기) Id 및 그룹을 읽을 수 있는 기능을 부여 합니다.
vso.identity_manage Id (관리) Id와 그룹을 읽고, 쓰고, 관리할 수 있는 기능을 부여 합니다.
부하 테스트 vso.loadtest 부하 테스트 (읽기) 부하 테스트 실행, 테스트 결과 및 APM 아티팩트를 읽을 수 있는 기능을 부여 합니다.
vso.loadtest_write 부하 테스트 (읽기 및 쓰기) 부하 테스트 실행을 만들고 업데이트 하 고 테스트 결과 및 APM 아티팩트를 비롯 한 메타 데이터를 읽을 수 있는 기능을 부여 합니다.
컴퓨터 그룹 vso.machinegroup_manage 배포 그룹 (읽기, 관리) 배포 그룹 및 에이전트 풀을 관리 하는 기능을 제공 합니다.
Marketplace vso.gallery Marketplace 공개 및 개인 항목과 게시자에 대 한 읽기 권한을 부여 합니다.
vso.gallery_acquire Marketplace (취득) 읽기 권한 및 항목 획득 기능을 부여 합니다.
vso.gallery_publish Marketplace (게시) 항목을 업로드 하 고, 업데이트 하 고, 공유 하는 기능 및 읽기 권한을 부여 합니다.
vso.gallery_manage Marketplace (관리) 항목 및 게시자를 게시 및 관리 하는 기능 및 읽기 권한을 부여 합니다.
알림 vso.notification 알림 (읽기) 필터링 가능한 필드 값을 포함 하 여 구독과 이벤트 메타 데이터에 대 한 읽기 권한을 제공 합니다.
vso.notification_write 알림 (쓰기) 필터링 가능한 필드 값을 포함 하 여 구독에 대 한 읽기 및 쓰기 액세스와 이벤트 메타 데이터에 대 한 읽기 액세스를 제공 합니다.
vso.notification_manage 알림 (관리) 구독에 대 한 읽기, 쓰기 및 관리 권한을 제공 하 고 필터링 가능한 필드 값을 포함 하 여 이벤트 메타 데이터에 대 한 읽기 권한을 제공 합니다.
vso.notification_diagnostics 알림 (진단) 알림 관련 진단 로그에 대 한 액세스를 제공 하 고 개별 구독에 대 한 진단을 사용 하도록 설정 하는 기능을 제공 합니다.
패키징 vso.packaging 패키징 (읽기) 피드 및 패키지를 읽을 수 있는 기능을 부여 합니다.
vso.packaging_write 패키징 (읽기 및 쓰기) 피드 및 패키지를 만들고 읽을 수 있는 기능을 부여 합니다.
vso.packaging_manage 패키징 (읽기, 쓰기 및 관리) 피드 및 패키지를 만들고, 읽고, 업데이트 하 고, 삭제할 수 있는 기능을 부여 합니다.
Project 및 팀 vso.project 프로젝트 및 팀(읽기) 프로젝트 및 팀을 읽을 수 있는 기능을 부여 합니다.
vso.project_write Project 및 팀 (읽기 및 쓰기) 프로젝트 및 팀을 읽고 업데이트 하는 기능을 부여 합니다.
vso.project_manage Project 및 팀 (읽기, 쓰기 및 관리) 프로젝트 및 팀을 만들고, 읽고, 업데이트 하 고, 삭제할 수 있는 기능을 부여 합니다.
릴리스 vso.release 릴리스 (읽기) 릴리스, 릴리스 정의 및 릴리스 환경을 비롯 한 릴리스 아티팩트를 읽을 수 있는 기능을 부여 합니다.
vso.release_execute 릴리스 (읽기, 쓰기 및 실행) 릴리스, 릴리스 정의 및 릴리스 환경, 새 릴리스를 큐에 대기 시키는 기능 등 릴리스 아티팩트를 읽고 업데이트할 수 있는 기능을 부여 합니다.
vso.release_manage 릴리스 (읽기, 쓰기, 실행 및 관리) 릴리스, 릴리스 정의 및 릴리스 환경, 새 릴리스를 큐에 추가 하 고 승인 하는 기능을 비롯 하 여 릴리스 아티팩트를 읽고 업데이트 하 고 삭제할 수 있는 기능을 부여 합니다.
보안 vso.security_manage 보안 (관리) 보안 권한을 읽고, 쓰고, 관리할 수 있는 기능을 부여 합니다.
서비스 연결 vso.serviceendpoint 서비스 끝점 (읽기) 서비스 엔드포인트를 읽을 수 있는 권한을 부여합니다.
vso.serviceendpoint_query 서비스 엔드포인트(읽기 및 쿼리) 서비스 엔드포인트를 읽고 쿼리하는 기능을 부여합니다.
vso.serviceendpoint_manage 서비스 엔드포인트(읽기, 쿼리 및 관리) 서비스 엔드포인트를 읽고 쿼리하고 관리하는 기능을 부여합니다.
설정 vso.settings 설정(읽기) 설정을 읽을 수 있는 권한을 부여합니다.
vso.settings_write 설정(읽기 및 쓰기) 설정을 만들고 읽을 수 있는 기능을 부여합니다.
Symbols vso.symbols 기호(읽기) 기호를 읽을 수 있는 권한을 부여합니다.
vso.symbols_write 기호(읽기 및 쓰기) 기호를 읽고 쓰는 기능을 부여합니다.
vso.symbols_manage 기호(읽기, 쓰기 및 관리) 기호를 읽고 쓰고 관리하는 기능을 부여합니다.
작업 그룹 vso.taskgroups_read 작업 그룹(읽기) 작업 그룹을 읽을 수 있는 권한을 부여합니다.
vso.taskgroups_write 작업 그룹(읽기, 만들기) 작업 그룹을 읽고 만들 수 있는 기능을 부여합니다.
vso.taskgroups_manage 작업 그룹(읽기, 만들기 및 관리) 작업 그룹을 읽고 만들고 관리하는 기능을 부여합니다.
팀 대시보드 vso.dashboards 팀 대시보드(읽기) 팀 대시보드 정보를 읽을 수 있는 권한을 부여합니다.
vso.dashboards_manage 팀 대시보드(관리) 팀 대시보드 정보를 관리하는 기능을 부여합니다.
Test Management vso.test 테스트 관리(읽기) 테스트 계획, 사례, 결과 및 기타 테스트 관리 관련 아티팩트 읽기 기능을 부여합니다.
vso.test_write 테스트 관리(읽기 및 쓰기) 테스트 계획, 사례, 결과 및 기타 테스트 관리 관련 아티팩트 읽기, 만들기 및 업데이트 기능을 부여합니다.
토큰 vso.tokens 위임된 권한 부여 토큰 사용자에게 위임된 권한 부여 토큰을 관리하는 기능을 부여합니다.
vso.tokenadministration 토큰 관리 조직 관리자에게 기존 토큰을 관리(보기 및 해지)하는 기능을 부여합니다.
사용자 프로필 vso.profile 사용자 프로필(읽기) 프로필, 계정, 컬렉션, 프로젝트, 팀 및 기타 최상위 조직 아티팩트 읽기 기능을 부여합니다.
vso.profile_write 사용자 프로필(쓰기) 프로필에 쓸 수 있는 권한을 부여합니다.
변수 그룹 vso.variablegroups_read 변수 그룹(읽기) 변수 그룹을 읽을 수 있는 권한을 부여합니다.
vso.variablegroups_write 변수 그룹(읽기, 만들기) 변수 그룹을 읽고 만들 수 있는 기능을 부여합니다.
vso.variablegroups_manage 변수 그룹(읽기, 만들기 및 관리) 변수 그룹을 읽고 만들고 관리하는 기능을 부여합니다.
Wiki vso.wiki Wiki(읽기) wiki, wiki 페이지 및 wiki 첨부 파일을 읽을 수 있는 기능을 부여합니다. 또한 wiki 페이지를 검색하는 기능도 부여합니다.
vso.wiki_write Wiki(읽기 및 쓰기) wiki, wiki 페이지 및 wiki 첨부 파일을 읽고 만들고 업데이트하는 기능을 부여합니다.
작업 항목 vso.work 작업 항목(읽기) 작업 항목, 쿼리, 보드, 영역 및 반복 경로 및 기타 작업 항목 추적 관련 메타데이터를 읽을 수 있는 기능을 부여합니다. 또한 서비스 후크를 통해 쿼리를 실행하고, 작업 항목을 검색하고, 작업 항목 이벤트에 대한 알림을 받을 수 있는 기능을 부여합니다.
vso.work_write 작업 항목(읽기 및 쓰기) 작업 항목 및 쿼리를 읽고, 만들고, 업데이트하고, 보드 메타데이터를 업데이트하고, 읽기 영역 및 반복 경로를 다른 작업 항목 추적 관련 메타데이터, 쿼리를 실행하고, 서비스 후크를 통해 작업 항목 이벤트에 대한 알림을 받을 수 있는 기능을 부여합니다.
vso.work_full 작업 항목(전체) 작업 항목, 쿼리, 백로그, 계획 및 작업 항목 추적 메타데이터에 대한 모든 권한을 부여합니다. 또한 서비스 후크를 통해 작업 항목 이벤트에 대한 알림을 수신하는 기능을 제공합니다.

게시된 확장의 범위 변경

게시 후 확장의 범위를 변경할 수 있습니다. 이전에 확장을 설치하고 이전 범위 집합에 권한을 부여한 고객은 이전 버전의 확장에 남아 있으며 최신 버전으로 업그레이드하기 전에 새 범위에 권한을 부여해야 합니다.

확장 설정 허브의 필요한 작업 섹션에는 설치된 확장에 권한 부여가 필요한 사용자가 표시됩니다.

scope-change

그런 다음 관리자는 새 범위 집합을 검토하고 권한을 부여할 수 있습니다.

scope-change-dialog

설치 대상

이름에서 알 수 있듯이 설치 대상은 확장을 설치할 수 있는 제품 및 서비스를 정의합니다. Microsoft.VisualStudio.Services는 가장 일반적인 설치 대상이며 확장을 Azure DevOps 및 TFS 2015 업데이트 2 이상(확장이 TFS에 도입된 버전)에 설치할 수 있음을 나타냅니다.

확장 또는 통합에 대한 설치 대상은 targets 매니페스트의 필드를 통해 지정됩니다.

확장에 지원되는 식별자:

  • Microsoft.VisualStudio.Services.Cloud: Azure DevOps Services 설치
  • Microsoft.TeamFoundation.Server: TFS에 설치
  • Microsoft.VisualStudio.Services: 둘 다에 설치됩니다. 및 Microsoft.VisualStudio.Services.Cloud 버전의 바로 가기 Microsoft.TeamFoundation.Server[14.2,)

통합에 지원되는 식별자(Azure DevOps 또는 TFS와 통합되는 도구 또는 서비스):

  • Microsoft.VisualStudio.Services.Cloud.Integration: Azure DevOps Services 통합
  • Microsoft.TeamFoundation.Server.Integration: TFS와 통합
  • Microsoft.VisualStudio.Services.Integration: 둘 다와 통합됩니다. 및 에 대한 바로 가기 Microsoft.VisualStudio.Services.Cloud.IntegrationMicrosoft.TeamFoundation.Server.Integration

자세한 내용은 Azure DevOps 확장성 지점을 참조하세요.

예제

예제 1: Azure DevOps 작동하는 확장

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ]
}

예제 2: Azure DevOps Services만 작동하는 확장

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services.Cloud"
        }
    ]
}

설치 대상은 통합 매니페스트에서도 사용할 수 있습니다. 예를 들어 제품, 앱 또는 도구에서 작동하지만 Azure DevOps 설치되지 않습니다.

예제 3: Azure DevOps 작동하는 통합

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services.Integration"
        }
    ]
}

예제 4: TFS에서만 작동하는 통합

{
    "targets": [
        {
            "id": "Microsoft.TeamFoundation.Server.Integration"
        }
    ]
}

설치 대상 버전

및 와 같은 일부 설치 대상 식별자는 Microsoft.TeamFoundation.ServerMicrosoft.TeamFoundation.Server.Integration 선택적 버전 범위를 지원합니다. 이 선택적 버전 범위는 확장 또는 통합이 지원되는 지원되는 릴리스를 더 명확하게 설명합니다.

버전 또는 버전 범위는 설치 대상 개체의 필드를 통해 version 지정됩니다. 이 값은 다음 중 하나일 수 있습니다.

  • 특정 버전 (예: 15.0 (2017 RTM에만 해당)
  • 지원 되는 버전의 범위 (예: [14.0) (2015 RTM 이상), [14.3,15.1] (2015 업데이트 3부터 2017 업데이트 1까지) 범위 값은 다음을 사용 하 여 구체화 됩니다.
    • [: 최소 버전 포함
    • ]: 최대 버전 포함
    • (: 최소 버전 전용
    • ): 최대 버전 배타

Team Foundation Server 및 Azure DevOps Server에 대 한 버전 번호:

해제 릴리스 버전
2010 모든 릴리스 10.0
2012 모든 릴리스 11.0
2013 RTM 및 업데이트 12.0, 12.1, 12.2, 12.3, 12.4
2015 RTM 및 업데이트 14.0, 14.1, 14.2, 14.3
2017 RTM 및 업데이트 15.0, 15.1
2018 RTM 및 업데이트 16.0
2019 RTM 및 업데이트 17.0
2020 RTM 및 업데이트 18.0

버전을 보여 주는 예제

예 5: Azure DevOps 및 TFS 2017 이상에서 작동 하는 확장

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services.Cloud"
        },
        {
            "id": "Microsoft.TeamFoundation.Server",
            "version": "[15.0,)"
        }
    ]
}

예제 6: TFS 2015 이상에서 작동 하는 통합

{
    "targets": [
        {
            "id": "Microsoft.TeamFoundation.Server.Integration",
            "version": "[14.0,)"
        }
    ]
}

예 7: TFS 2013 및 2015와 작동 하는 통합

{
    "targets": [
        {
            "id": "Microsoft.TeamFoundation.Server.Integration",
            "version": "[12.0,15.0)"
        }
    ]
}

바로 가기

Microsoft.VisualStudio.Services는 Azure DevOps 및 TFS 2015 업데이트 2 이상에 대 한 바로 가기입니다.

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ]
}

이는 다음과 동등합니다.

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services.Cloud"
        },
        {
            "id": "Microsoft.TeamFoundation.Server",
            "version": "[14.2,)"
        }
    ]
}

설치 대상 및 요구 사용

설치 대상 및 요구는 확장 또는 통합이와 호환 되는 제품/서비스의 정확한 보기를 제공 하는 데 함께 사용 됩니다. 예를 들어를 요구 하는의 설치 대상을 지정 하 Microsoft.VisualStudio.Servicesapi-version/3.0 는 것은 확장 프로그램이 Azure DevOps 및 TFS 2017 RTM 이상에서 작동 함을 의미 합니다.

REST Api에 대 한 자세한 내용은 REST API 참조를 참조 하세요.

예 8: 버전 3.0 Api를 사용 하는 확장

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ],
    "demands": [
        "api-version/3.0"
    ]
}

다음 설치 대상으로 확인 됩니다.

  1. Microsoft.VisualStudio.Services.Cloud
  2. Microsoft.TeamFoundation.Server버전: [15.0,)

예 9: 버전 2.0 Api를 사용 하는 통합

{
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services.Integration"
        }
    ],
    "demands": [
        "api-version/2.0"
    ]
}

다음 설치 대상으로 확인 됩니다.

  1. Microsoft.VisualStudio.Services.Cloud.Integration
  2. Microsoft.TeamFoundation.Server.Integration버전: [14.0,)

요청

요청을 통해 확장에 필요한 기능 및 기타 기능을 지정할 수 있습니다. 이러한 요구 사항을 사용 하 여 확장을 게시 하거나 설치할 수 있는 위치를 제한할 수 있습니다.

나중에 Visual Studio Marketplace에서 확장을 사용 하 여 확장에 사용 되는 제품 및 환경을 나열 합니다. 이렇게 하면 고객이 확장 프로그램이 TFS의 버전 (예:)과 작동 하는지 파악할 수 있습니다.

요청은 확장 매니페스트에 지정 됩니다. 예를 들면 다음과 같습니다.

{
    "demands": [
        "api-version/3.0",
        "contribution/ms.vss-dashboards-web.widget-catalog"
    ]
}

이 예에서 확장 프로그램은 api의 버전 3.0을 요구 합니다. 즉, Azure DevOps 또는 TFS 2017 RTM 이상에만 설치할 수 있습니다. 또한 ms.vss-dashboards-webwidget-catalog 확장을 설치 하기 전에 컬렉션에 확장 (및 해당 기여)을 설치 (및 활성화) 해야 합니다.

지원 되는 요구

유형 설명 게시 시 확인 여부 설치 시 확인 여부
environment/cloud 클라우드 환경에서 실행 필요
environment/onprem 온-프레미스 환경에서 실행 필요
api-version/{version} 특정 API 버전 필요 (최소) 아니요
extension/{id} 특정 확장을 설치/사용 하도록 설정 해야 합니다. 아니요
contribution/{id} 특정 기여를 사용할 수 있어야 합니다. 아니요
contributionType/{id} 특정 기여 유형을 사용할 수 있어야 합니다. 아니요

참고

  • environment/cloudenvironment/onprem 확장에 해당 특정 환경에서 실행 해야 하는 토폴로지 관련 요구 사항이 있는 경우에만 및를 사용 합니다.
  • extension, contributioncontributionType 요구는 설치 시에 평가 되며, 지정 된 확장 프로그램이 이미 설치 되어 있고 조직/컬렉션에 사용 하도록 설정 되어 있어야 합니다.

파일

files섹션에서는 확장에 포함 하려는 모든 파일을 참조 합니다. 폴더와 개별 파일을 모두 추가할 수 있습니다.

{
    "files": [
        {
            "path": "hello-world.html", "addressable": true
        },
        {
            "path": "scripts", "addressable": true
        },
        {
            "path": "images/logo.png", "addressable": true, "packagePath": "/"
        }
    ]
}

속성

파일 섹션에 대 한 속성:

  • 경로 -디스크의 리소스에 대 한 경로 이며, 루트 디렉터리에 대 한 상대 경로일 수 있습니다.
  • 주소 지정 가능 – (선택 사항) 파일을 URL 주소 지정 가능 하 게 하려면 true 로 설정 합니다. 기본값은 false입니다.
  • packagePath – (선택 사항) 패키지 내의 리소스에 대 한 경로입니다. 기본값은 루트 디렉터리의 디스크에 대 한 상대 경로입니다.
  • contentType – (선택 사항) 파일의 MIME 형식입니다. 기본값은 파일 확장명 및 OS 설정에 따라 가장 적합 한 추측입니다.
  • assetType – (선택 사항) VSIX 매니페스트에 있는 자산 항목의 Type 특성 값을 지정합니다. 문자열 배열일 수도 있습니다. 이 경우 이 파일에 대해 여러 자산 항목이 추가됩니다. 기본값은 packagePath입니다.
  • lang – (선택 사항) 이 자산의 언어입니다. 지역화된 파일은 Accept-Language 헤더에 따라 제공됩니다. 이 파일이 기본(또는 대체) 언어임을 의미하려면 비워 둡니다. 동일한 파일의 지역화된 버전에는 동일한 assetType이 있어야 합니다.

Contributions

각 기여 항목에는 다음과 같은 속성이 있습니다.

  • id - 기여에 대한 참조 ID(문자열)입니다. 각 기여의 ID는 확장 내에서 고유해야 합니다. 아래 기여 및 형식 참조를 참조하세요.
  • type - 이 기여의 contributionType ID입니다.
  • description - (선택 사항) 기여가 제공하는 내용을 설명하는 문자열입니다.
  • targets - 기여가 대상으로 하는 기여(기여 대상)의 배열입니다. 기여 대상 지정을 참조하세요.
  • properties - (선택 사항) 기여 유형에 정의된 기여에 대한 속성을 포함하는 개체입니다.

자세한 내용은 기여 모델 개요를 참조하세요.

기여 유형

각 기여 항목에는 다음과 같은 속성이 있습니다.

  • id - 기여 유형에 대한 참조 ID(문자열)입니다. 각 기여 유형 ID는 확장 내에서 고유해야 합니다. 아래 기여 및 형식 참조를 참조하세요.
  • name - 기여 유형의 이름입니다.
  • description - (선택 사항) 기여 유형이 무엇인지 자세히 설명하는 문자열입니다.
  • properties - (선택 사항) 속성 이름을 속성 설명에 매핑하는 사전입니다. 이러한 속성은 이 형식의 기여에 사용할 수 있는 필수 및 선택적 속성을 설명합니다.

속성 설명에는 다음과 같은 속성이 있습니다.

  • description - (선택 사항) 속성이 사용되는 대상을 설명하는 문자열입니다.
  • required - (선택 사항) 부울 값입니다. true이면 이 형식의 모든 기여에 속성이 필요함을 나타냅니다.
  • type - 속성이 가질 수 있는 값의 형식입니다. 문자열, uri, guid, 부울, 정수, double, dateTime, 배열 또는 개체일 수 있습니다.

자세한 내용은 기여 모델 개요를 참조하세요.

기여 및 형식 참조

기여 및 기여 유형은 해당 식별자에서 참조됩니다. 기여는 속성을 통해 형식을 type 참조하고 속성을 통해 다른 기여를 참조합니다. targets

전체 기여 참조에는 게시자 식별자, 확장 식별자 및 기여/형식 식별자가 점(.)으로 구분되어 있습니다. 예를 들어: ms.vss-web.hub 는 "ms"(Microsoft) 게시자가 게시한 "vss-web" 확장에서 "hub" 식별자를 사용하여 기여에 대한 전체 식별자입니다.

상대 기여 참조는 동일한 확장 내에서 다른 기여 또는 기여 유형에 대한 기여 참조를 위해 확장 매니페스트 내에서 사용할 수 있습니다. 이 경우 게시자 및 확장명 식별자는 포함되지 않으며 식별자는 점(.)입니다. 뒤에 기여 식별자가 잇습니다. 예를 들어 "ms.vss-web.hub"에 대한 바로 가기로 이전에 언급한 "vss-web" 확장 내에서 ".hub"를 사용할 수 있습니다.

기여 대상 지정

일부 기여는 다른 기여의 대상이 될 수 있는 컨테이너 역할을 합니다. 허브 그룹 및 메뉴가 이에 대한 예입니다. 허브 기여는 허브 그룹을 대상으로 할 수 있습니다. 페이지가 렌더링되면 웹 UI에 선택한 허브 그룹을 대상으로 하는 모든 허브 기여가 표시됩니다. 허브 그룹은 지정된 탐색 영역(예: 프로젝트 수준 관리 페이지)에 표시할 허브 그룹 집합을 정의하는 허브 그룹 컬렉션을 대상으로 합니다.

메뉴는 작업, 하이퍼링크 작업 및 작업 공급자와 같은 다양한 유형의 기여에 의해 대상으로 지정될 수 있습니다. 작업 및 하이퍼링크 작업은 단일 메뉴 항목 항목을 제공합니다. 작업 공급자는 여러 동적 메뉴 항목을 제공할 수 있습니다. 지정된 메뉴의 경우 항목은 특정 메뉴 기여를 대상으로 하는 모든 기여(이러한 형식 중)에서 집계됩니다.

허브 아이콘 추가

허브에 아이콘을 추가하는 자세한 내용은 허브 아이콘 지침을확인하세요.

지원되는 배지 서비스

Marketplace는 다음과 같은 신뢰할 수 있는 서비스의 배지만 지원합니다.

  • api.travis-ci.org/
  • badge.fury.io/
  • badges.frapsoft.com/
  • badges.gitter.im/
  • badges.greenkeeper.io/
  • cdn.travis-ci.org/
  • ci.appveyor.com/
  • codeclimate.com/
  • codecov.io/
  • coveralls.io/
  • david-dm.org/
  • gemnasium.com/
  • img.shields.io/
  • isitmaintained.com/
  • marketplace.visualstudio.com/
  • snyk.io/
  • travis-ci.com/
  • travis-ci.org/
  • vsmarketplacebadge.apphb.com/
  • bithound.io/
  • deepscan.io/
  • githost.io/
  • gitlab.com/
  • opencollective.co/

다른 서비스의 배지를 표시하려면 에 vsmarketplace@microsoft.com 문의합니다.

매니페스트 예제

이 확장은 완료된 빌드 상황에 맞는 메뉴에 작업을 기여하고 허브를 빌드 허브 그룹에 제공합니다.

{
    "manifestVersion": 1,
    "id": "tools",
    "version": "0.1.0",
    "name": "Fabrikam Tools",
    "publisher": "fabrikam",
    "description": "Awesome tools to help you and your team do great things everyday.",
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ],
    "demands": [
        "api-version/3.0"
    ],
    "icons": {
        "default": "images/fabrikam-logo.png"
    },
    "scopes": [
        "vso.work",
        "vso.code_write"
    ],
    "categories": [
        "Plan and track"
    ],
    "tags": [
        "working",
        "people person",
        "search"
    ],
    "branding": {
        "color": "rgb(34, 34, 34)",
        "theme": "dark"
    },
    "screenshots": [
        {
            "path": "screenshots/screen1.png"
        },
        {
            "path": "screenshots/screen2.png"
        }
    ],
    "content": {
        "details": {
            "path": "overview.md"
        },
        "license": {
            "path": "eula.md"
        }
    },
    "links": {
        "home": {
            "uri": "https://www.fabrikam-fiber-inc.com"
        },
        "getstarted": {
            "uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
        },
        "learn": {
            "uri": "https://www.fabrikam-fiber-inc.com/features"
        },
        "support": {
            "uri": "https://www.fabrikam-fiber-inc.com/support"
        },
        "repository": {
            "uri": "https://github.com/fabrikam-fiber-inc/tools"
        },
        "issues": {
            "uri": "https://github.com/fabrikam-fiber-inc/tools/issues"
        }
    },
    "repository": {
        "type": "git",
        "uri": "https://github.com/fabrikam-fiber-inc/myextension"
    },
    "badges": [
        {
            "href": "https://travis.ci/fabrikam-fiber-inc/myextension",
            "uri": "https://travis.ci/fabrikam-fiber-inc/myextension.svg?branch=master",
            "description": "TravisCI build for the project"
        },
        {
            "href": "https://ci.appveyor.com/projects/fabrikam-fiber-inc/myextension",
            "uri": "https://ci.appveyor.com/api/projects/status/vlg2sgs2y7tsdxpj4c?svg=true",
            "description": "AppVeyor build for the project"
        }
    ],
    "contributions": [
        {
            "id": "showCommits",
            "type": "ms.vss-web.action",
            "description": "Adds a menu action from builds grid to show associated items.",
            "targets": [
                "ms.vss-build-web.completed-build-menu"
            ],
            "properties": {
                "title": "View associated items",
                "uri": "launch.html"
            }
        }
    ]
}

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2017

모든 확장에는 확장에 대한 기본 정보를 정의하는 JSON 매니페스트 파일이 있습니다. 또한 파일은 환경을 확장하고 개선하는 방법을 정의합니다. 이 문서에서는 Azure DevOps 확장에 대한 매니페스트를 만드는 방법을 보여 줍니다.

Azure DevOps 확장 SDK를사용한 확장 개발에 대한 최신 설명서를 확인하세요.

확장 폴더의 루트에 라는 파일을 만들어 vss-extension.json 시작합니다. 이 파일에는 확장의 ID 및 설치 대상(실행할 수 있는 위치)과 같은 필수 특성이 포함되어 있습니다. 또한 확장에서 기여하는 것을 정의합니다.

일반적인 매니페스트의 다음 예제를 참조하세요.

{
    "manifestVersion": 1,
    "id": "tools",
    "version": "0.1.0",
    "name": "Fabrikam Tools",
    "publisher": "fabrikam",
    "description": "Awesome tools to help you and your team do great things everyday.",
    "targets": [
        {
            "id": "Microsoft.VisualStudio.Services"
        }
    ],
    "icons": {
        "default": "images/fabrikam-logo.png"
    },
    "scopes": [
        "vso.work",
        "vso.code_write",
        "vso.build_execute"
    ],
    "categories": [
        "Azure Boards"
    ],
    "branding": {
        "color": "rgb(34, 34, 34)",
        "theme": "dark"
    },
    "content": {
        "details": {
            "path": "readme.md"
        },
        "license": {
            "path": "eula.md"
        }
    },
    "links": {
        "getstarted": {
            "uri": "https://www.fabrikam-fiber-inc.com/help/getstarted"
        },
        "support": {
            "uri": "https://www.fabrikam-fiber-inc.com/support"
        }
    },
    "repository": {
        "type": "git",
        "uri": "https://github.com/fabrikam-fiber-inc/myextension"
    },
    "contributions": [
        {
            "id": "showCommits",
            "type": "ms.vss-web.action",
            "description": "Adds a menu action from builds grid to show associated items.",
            "targets": [
                "ms.vss-build-web.completed-build-menu"
            ],
            "properties": {
                "title": "View associated items",
                "uri": "launch.html"
            }
        }
    ],
    "files": [
        {
            "path": "launch.html",
            "addressable": true
        },        
        {
            "path": "node_modules/vss-web-extension-sdk/lib",
            "addressable": true,
            "packagePath": "lib"
        }
    ]
}

필수 특성

이러한 속성은 필수입니다.