共用方式為


將整合工具封裝並發佈到 Marketplace

Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022

本文說明如何在Visual Studio Marketplace上發佈與 Azure DevOps 整合的工具、服務或產品。 在 Marketplace 上發佈可協助使用者探索擴充及增強其 Azure DevOps 體驗的解決方案。 Marketplace 可作為個人和小組尋找整合和擴充功能的核心中樞。

流覽 Marketplace 以查看其他整合和延伸模組的範例。

備註

如需延伸模組的封裝和發佈資訊,請參閱 封裝和發佈延伸模組

先決條件

發佈至 Marketplace 之前,必須先符合下列需求清單。

類別 需求
封裝工具 安裝擴充套件封裝工具(TFX)。 在命令提示字元中執行 npm install -g tfx-cli
影像許可權 請確定您有適當的許可權可以使用任何影像,例如圖示、標誌、螢幕快照等等。
Marketplace 概觀 包含一個詳細的 overview.md 檔案,以描述您在 Marketplace 中的項目。
擴充功能圖示 包含延伸模組的圖示,代表您的整合、公司或組織,大小至少為128x128像素(PNG或 JPEG)。
Microsoft產品名稱 針對Microsoft產品使用完整名稱(例如,Azure DevOps 而非 AzDO 或其他縮寫)。
品牌名稱 請勿在延伸模組的名稱中使用品牌名稱。

收集必要的資產

  • 請提供至少一個整合過程的螢幕截圖。
  • 用戶操作動作或啟動使用的 URL。

備註

  • 此字詞 extension 被用於參考文件中。 延伸模組是另一種類型的 Marketplace 專案,並與整合共用許多相似之處。
  • 需要協助才能在 Marketplace 上整合? 與我們連絡。

建立發行者帳戶

每個延伸模組或整合,包括來自Microsoft的擴充功能,都必須有發行者。 任何人都可以建立發行者,並在其下發佈延伸模組。 您也可以與其他使用者共享發行者存取權,例如您的開發小組。

  1. 登入 Visual Studio Marketplace 發佈入口網站

  2. 如果您不是現有發行者的一部分,請選取 [+ 建立發行者]。
    輸入發行者名稱;標識元欄位會根據您的項目自動填入。

    顯示醒目提示按鈕 [建立發行者] 的螢幕快照。

    備註

    • 確保您的發行者名稱在多字節字符的16個字元內。
    • 儲存發行者識別碼—您需要它於延伸模組的指令清單檔案中。

    如果未提示您建立發行者,請卷動至 [相關網站] 底下的 [發佈延伸模組]。

    • 設定唯一的發行者識別碼,例如 mycompany-myteam。 將此數值用於您的 manifest 檔中的 publisher 屬性。
    • 設定顯示名稱,例如 My Team
  3. 檢閱 Marketplace 發行者合約,然後選取 [建立]。

    創建擴充套件的發布者

建立發行者之後,您可以管理項目,但您發佈之前,項目不會顯示。

整理您的清單和資產

若要組織您的清單和資產,請執行下列步驟:

  1. 建立 home 資料夾以儲存必要的資產。
  2. 建立 images 資料夾給:
    • 您的整合標誌 (128x128 像素)
    • 螢幕快照(1366x768 像素)
  3. 建立檔案 overview.md 來描述您的整合。 如需詳細資訊,請參閱 GitHub Flavored Markdown
  4. 建立 vss-integration.json 檔案,此檔案是您的 Marketplace 清單的資訊檔案。 如需詳細資訊,請參閱 延伸模組指令清單參考

完成延伸模組指令清單

發行至 Marketplace 時,首先要建立一個定義整合及其重要發現細節的清單檔案(包括螢幕截圖、標誌、概要內容)。 此資訊可用來向 Marketplace 上的用戶呈現您的整合。

  1. 使用下列 JSON 填入您的 vss-integration.json 檔案:

    {
        "manifestVersion": 1,
        "id": "myservice",
        "version": "1.0.0",
        "name": "My Service",
        "publisher": "mycompany",
        "description": "Awesome tools to help you and your team do great things everyday.",
        "targets": [
            {
                "id": "Microsoft.VisualStudio.Services.Integration"
            }
        ],    
        "icons": {
            "default": "images/service-logo.png"
        },
        "categories": [
            "Plan and track"
        ],
        "tags": [
            "working",
            "people person",
            "search"
        ],
        "screenshots": [
            {
                "path": "images/screen1.png"
            },
            {
                "path": "images/screen2.png"
            }
        ],
        "content": {
            "details": {
                "path": "overview.md"
            },
            "license": {
                "path": "fabrikam-license-terms.md"
            }
        },
        "links": {
            "getstarted": {
                "uri": "https://www.mycompany.com/help/getstarted"
            },
            "learn": {
                "uri": "https://www.mycompany.com/features"
            },
            "support": {
                "uri": "https://www.mycompany.com/support"
            }
        },
        "branding": {
            "color": "rgb(34, 34, 34)",
            "theme": "dark"
        }
    }
    
  2. 按下列參考資料更新 JSON:

需要下列屬性:

財產 說明 備註
manifestVersion 與清單格式版本對應的數字。 應該是 1
識別碼 延伸模組的標識碼。 此ID是一個字串,在相同發行者的擴充套件之間必須是唯一的。 它必須以字母或數值字元開頭,並包含 'A' 到 'Z'、'a' 到 'z'、'0' 到 '9' 和 '-' (連字元)。 範例: sample-extension.
版本 指定延伸模組版本的字串。 格式 major.minor.patch應為 ,例如 0.1.21.0.0。 您也可以針對下列格式新增第四個數位: 0.1.2.3
名字 擴充套件的簡短人類可讀名稱。 限制為200個字元。 範例: "Fabrikam Agile Board Extension".
發行人 發行者的標識碼。 此識別碼必須與擴充功能發布時的識別碼一致。 請參閱 建立和管理發行者
類別 字串陣列,代表擴充功能所屬的類別。 至少必須提供一個類別,而且您可能包含的類別數目沒有限制。 有效值: Azure ReposAzure BoardsAzure PipelinesAzure Test Plans、 和 Azure Artifacts

筆記:
    - 如果您要以程式設計方式發佈延伸模組,請使用 >tfx-cli 0.6.3 版。
    - 如果您使用 Azure DevOps 擴充功能延伸模組 發佈,請確定其版本為 >= 1.2.8。 您可能需要核准擴充功能更新,因為最近範圍已改變。
    - 先前提到的類別已在 Visual Studio Marketplace 和 Azure DevOps Server 2019 & 中原生存在。
目標 整合或擴充功能所支援的產品和服務。 如需詳細資訊,請參閱 安裝目標 物件的陣列,其中每個物件都有一個 id 欄位,指出下列其中一項:
    - Microsoft.VisualStudio.Services(與 Azure DevOps 搭配運作的擴充功能)、
    - Microsoft.TeamFoundation.Server(與 Azure DevOps Server 搭配運作的擴充功能)、
    - Microsoft.VisualStudio.Services.Integration
    - Microsoft.TeamFoundation.Server.Integration(與 Azure DevOps Server 搭配運作的整合)

下列選擇性屬性可協助使用者探索及瞭解您的擴充功能:

財產 說明 備註
描述 用幾個句子描述擴充功能。 限制為200個字元。 描述應該是您延伸模組的「簡短推介」——在 Marketplace 中用幾行描述您的延伸模組,並讓使用者想要安裝它。 請參閱下列範例
圖示 代表延伸模組的圖示字典。 有效密鑰:128x128 像素的 BMP、GIF、EXIF、JPG、PNG 和 TIFF 類型。 未來可能支援其他索引鍵,例如 large (512x512 像素)。 每個鍵的值都是擴充功能中圖示檔案的路徑
標記 字串標籤標的陣列,可協助使用者尋找您的延伸模組。 範例: agileproject managementtask timer等。
螢幕快照 無法包含在內容中的影像陣列。 當您的內容中展示時,螢幕快照會更有價值,應該用來協助製作您的延伸模組的高品質市場詳情頁面。 對於內容未收錄的較不重要影像,請使用螢幕快照。 每個影像應為1366x768像素。 每個專案的path是該擴充功能中檔案的路徑。
內容 描述您擴充功能給使用者的內容檔案詞典。 每個 延伸模組都應該包含紮實的內容。 這樣您就可以向使用者展示您的擴充功能能夠執行的功能。 使其豐富、易於理解,並在需要時包含螢幕快照。 包含overview.md檔案作為您的基礎內容。 每個檔案都假設為 GitHub Flavored Markdown 格式。 path每個項目的屬性是延伸模組中 Markdown 檔案的路徑。 有效鍵值:details。 未來可能支援其他金鑰。
連結 連結的字典,可協助使用者深入瞭解您的延伸模組、取得支援和移動。 有效的金鑰: getstarted - 第一個步驟,如何設定或使用。 learn - 更深入的內容,可協助用戶進一步瞭解您的延伸模組或服務。 license - 使用者許可協定。 privacypolicy - 延伸模組的隱私策略。 support - 取得擴充功能的說明和支援。 每個索引鍵的值都是具有 uri 字段的物件,這是鏈接的絕對URL
存儲庫 描述延伸模組之原始程式碼存放庫的屬性字典 有效金鑰: type - 存放庫的類型。 範例: gituri - 存放庫的絕對 URL。
徽章 來自已核准徽章網站的外部元數據徽章連結陣列, 例如 TravisCI、Appveyor 等等 有效鍵: href - 當使用者選取徽章時,會導向至該連結。 uri - 要顯示的徽章影像絕對 URL。 description - 在鼠標懸停時顯示的徽章描述。
品牌 品牌相關屬性的字典。 有效索引鍵: color - 延伸模組或發行者的主要色彩;可以是十六進位(#ff00ff)、RGB(rgb(100,200,50)或支援的 HTML 色彩名稱(藍色)。 theme - 補充色彩; 將 深色 用於深色品牌色彩,或選擇 淺色 用於淺色品牌色彩。

瞭解明細頁面

  • 1 - 描述
  • 2 - 圖示
  • 3:類別
  • 4 - 螢幕快照
  • 5 - 內容(詳細資料)
  • 6 - 連結
  • 7 - 商標

此截圖顯示 Visual Studio Marketplace 中擴充功能的詳細資訊卡。

警告

public屬性設定為false或省略此設定,以防止您的整合在尚未準備好時被所有 Marketplace 用戶看到。

封裝您的清單和資產

安裝套件工具 (tfx-cli)

使用 npm安裝或更新適用於 Azure DevOps 的跨平臺 CLI (tfx-cli) :

npm i -g tfx-cli

在 .vsix 檔案中封裝您的整合

tfx extension create --manifest-globs vss-extension.json

備註

每次更新時,請增加您的擴充功能或整合的版本號碼。
如果您尚未更新指令清單中的版本,請使用 --rev-version 命令行參數。 此參數會自動遞增 修補程式 版本號碼,並將新版本儲存至您的指令清單。

將您的整合發佈至 Marketplace

封裝延伸模組之後,您可以將它上傳至發行者下的 Marketplace。 publisher擴充功能的清單檔中指定的識別碼必須與上傳擴充功能的發行者的識別碼相符。

  1. 從管理入口網站中,從頁面頂端的下拉功能表中選取您的發行者。

  2. 選擇 新增擴充功能>Azure DevOps

    螢幕快照顯示「新增擴充套件」的下拉功能表及已選取的「Azure DevOps」。

  3. 拖放您的檔案,或選取它來尋找您在上一個封裝步驟中建立的 VSIX 檔案,然後選擇 [ 上傳]。

    此螢幕快照顯示上傳新的 Azure DevOps 擴充功能。

    快速驗證之後,您的延伸模組會出現在已發佈的延伸模塊清單中。 別擔心,這個擴充功能只有您可見。

    顯示已發行延伸模組清單中延伸模組的螢幕快照。

此時,任何帳戶都看不到您的擴充套件。 若要讓其他人看得見,您需要共用延伸模組。

備註

Microsoft在每個已發佈的新和更新的擴充套件上執行病毒掃描。 在掃描結果顯示無問題之前,我們不會在 Marketplace 中發佈擴充套件以供公共使用。 如此一來,我們也會避免在 Marketplace 頁面上呈現不適當的或冒犯性內容。

分享您的集成

在 Azure DevOps 組織中安裝整合之前,請先與該組織共用。 開發和測試需要共用,因為它是在這些階段執行整合的唯一方式。

若要共用整合,請執行下列步驟:

  1. 從顯示的項目清單中選取整合
  2. 選取 [共用] 按鈕
  3. 指定要顯示此整合的組織名稱。 例如,若要讓 dev.azure.com/fabrikam-fiber-inc 組織看到整合,請指定 fabrikam-fiber-inc

更新項目

若要更新您已發佈的擴充功能,請執行下列步驟:

小提示

更新您的延伸模組,而不是移除再重新上傳。 我們建議維持兩個擴充功能:publisher.extension,在 Marketplace 上公開讓客戶使用;以及 publisher.extension-dev,僅限與貴組織共用,以便進行開發和測試的私人擴充功能。 您不需要兩份原始程式碼複本,只要針對每個延伸模組維護個別的指令清單檔案即可。 封裝時,請將適當的指令清單檔提供給 tfx-cli 工具。 如需詳細資訊,請參閱 TFX 擴充功能命令

  1. 從顯示的項目清單中選取您的延伸模組。
  2. 以滑鼠右鍵點擊並選取 更新 以更新開發版本,如 publisher.extension-dev
  3. 驗證您的擴充功能。
  4. 將相同的更新套用至生產版本,例如 publisher.extension
  5. 瀏覽至擴充功能的 .vsix 檔案並將其上傳。

Azure DevOps 會自動安裝已擁有擴充功能之所有帳戶的更新版本。 新的安裝也會收到最新版本。

將您的整合公開

如需讓所有人看到整合的資訊,請參閱 將您的清單公開