Web uzantısı geliştirme

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

yeni web deneyimleri, pano pencere öğeleri, derleme görevleri ve daha fazlasını içeren Azure DevOps geliştirmek için uzantıları kullanın. HTML, JavaScript ve CSS gibi standart teknolojileri kullanarak uzantılar geliştirebilirsiniz. bunlar, Visual Studio marketi 'nde paketlenir ve yayımlanır ve daha sonra bir kuruluşa yüklenebilir.

İpucu

Azure DevOps uzantısı SDK 'sınıkullanarak uzantı geliştirmede en yeni belgelerimize göz atın.

Bu öğreticide, aşağıdaki görevler de dahil olmak üzere ilk Web uzantınızı oluşturma adımları kılavuzluk eder.

  • Gerekli araçları yükler
  • Uzantınızın yerel bir dizinini okuyun
  • Uzantı bildirim dosyası ve hub katkısı oluşturma
  • Uzantınızı Market 'Te paketleyin ve yayımlayın
  • Uzantınızı bir kuruluşta test etme
Yardıma mı ihtiyacınız var? Azure DevOps Services geliştirici Communitysorularınızı gönderin.

Önkoşullar

Aşağıdaki izne ve yüklemelere sahip olmanız gerekir.

Dizin ve bildirim oluşturma

Uzantı, gerekli bir bildirim dosyasını içeren bir dosya kümesinden oluşur. bunu bir. vsix dosyasına paketleyip Visual Studio market 'te yayımlayabilirsiniz.

  1. Uzantınız için gereken dosyaları tutacak bir dizin oluşturun:

    mkdir my-first-extension
    
  2. Bu dizinden yeni NPM paket bildirimini başlatın:

    npm init -y
    

    Bu dosya, uzantınızın gerektirdiği kitaplıkları açıklar.

  3. Microsoft VSS web uzantısı SDK paketini yükleyip NPM paket bildiriminiz için kaydedin:

    npm install vss-web-extension-sdk --save
    

    Bu SDK, uzantınızın katıştırıldığı sayfayla iletişim kurmak için gerekli API 'Leri sağlayan bir JavaScript kitaplığı içerir.

  4. Uzantı dizininizin kökünde adlı bir uzantı bildirim dosyası oluşturun vss-extension.json ve aşağıdaki içeriği oluşturun:

    {
        "manifestVersion": 1,
        "id": "my-first-extension",
        "publisher": "",
        "version": "1.0.0",
        "name": "My First Extension",
        "description": "A sample Visual Studio Services extension",
        "public": false,
        "categories": ["Azure Repos"],
        "targets": [
            {
                "id": "Microsoft.VisualStudio.Services"
            }
        ],
        "contributions": [
            {
                "id": "my-hub",
                "type": "ms.vss-web.hub",
                "targets": [
                    "ms.vss-code-web.code-hub-group"
                ],
                "properties": {
                    "name": "My Hub",
                    "uri": "my-hub.html"
                }
            }
        ],
        "files": [
            {
                "path": "my-hub.html",
                "addressable": true
            },
            {
                "path": "node_modules/vss-web-extension-sdk/lib",
                "addressable": true,
                "packagePath": "lib"
            }
        ]
    }
    

    Not

    publicözelliği, uzantının Visual Studio marketi üzerinde herkes tarafından görülüp görülemeyeceğini denetler. Geliştirme sırasında uzantılarınızın özel kalmasını sağlayın.

  5. my-hub.htmlWeb deneyimine katkıda bulunulan görünüm (hub olarak da bilinir) için aşağıdaki içerikle uzantı dizininizin kökünde adlı bir dosya oluşturun.

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <script src="lib/VSS.SDK.min.js"></script>
        <style>
            body {
                background-color: rgb(0, 67, 117);
                color: white;
                margin: 10px;    
                font-family: "Segoe UI VSS (Regular)","-apple-system",BlinkMacSystemFont,"Segoe UI",sans-serif;
            }
        </style>
        <script type="text/javascript">
            VSS.init();
            VSS.ready(function() {
                document.getElementById("name").innerText = VSS.getWebContext().user.name;
            });
        </script>
    </head>
    <body>        
        <h1>Hello, <span id="name"></span></h1>
    </body>
    </html>
    
  6. Uzantı dizininiz aşağıdaki örnekteki gibi görünmelidir.

    |-- my-hub.html
    |-- node_modules
        |-- @types
        |-- vss-web-extension-sdk
    |-- package.json
    |-- vss-extension.json
    

Şimdi uzantınızı paketlemenize, yayımlamaya ve test etmeye hazırsınız.

Uzantınızı paketleme ve yayımlama

Yayımcı oluşturma

Microsoft 'un uzantıları da dahil olmak üzere tüm uzantılar bir yayımcının altındadır. Herkes bir yayımcı oluşturabilir ve bunun altında uzantıları yayımlayabilir. Ayrıca, bir takım uzantıyı geliştirmekte olduğu takdirde, başka kişilere yayımcıya erişim izni verebilirsiniz.

  1. Visual Studio market yönetim portalındaoturum açın.

  2. Zaten bir yayımcı yoksa, bir tane oluşturmanız istenir.

  3. Publisher oluştur formunda, yayımcı adı alanına adınızı girin. KIMLIK alanı, adınız temelinde otomatik olarak ayarlanmalıdır:

    Creat yayımcısı

    Not

    KIMLIĞI unutmayın. Uzantınızın bildirim dosyasında ayarlamanız gerekir.

Şimdi uzantınızı paketleyip Market 'e yayımlamayı (karşıya yüklemeyi) hazırsınız. Uzantınızı paketledikten sonra buraya döndürütireceğiz, bu tarayıcı penceresini açık tutun.

Uzantınızı paketleyin

  1. Uzantı bildirim dosyanızı () açın vss-extension.json ve publisher alanın DEĞERINI yayımcının kimliği olarak ayarlayın. Örnek:

    {
        ...
        "id": "my-first-extension",
        "publisher": "AnnetteNielsen",
        ...
    }
    
  2. VSS Web uzantıları SDK 'Sı için TFX gerekir. Henüz yüklemediyseniz, bir komut istemi açın ve aşağıdaki komutu çalıştırın.

    npm install -g tfx-cli
    
  3. Bir komut isteminden, uzantı dizininizden TFX aracının paketleme komutunu çalıştırın.

    npx tfx-cli extension create
    

    Bu tamamlandığında, uzantınızın başarıyla paketlenmediğini belirten bir ileti görürsünüz:

    === Completed operation: create extension ===
    - VSIX: C:\my-first-extension\AnnetteNielsen.my-first-extension-1.0.0.vsix
    - Extension ID: my-first-extension
    - Extension Version: 1.0.0
    - Publisher: AnnetteNielsen
    

uzantınızı Upload

  1. Yönetim portalından, sayfanın en üstündeki açılan listeden yayımcısını seçin.

  2. Yeni uzantı' ı seçin ve ardından Azure DevOps' yi seçin.

    Visual Studio market yeni uzantı geliştirme
  3. Dosyanızı Sürükleyip Bırakın veya bir önceki paketleme adımında oluşturduğunuz VSıX dosyanızı bulmak için seçin ve ardından upload' yi seçin.

    Azure DevOps için yeni Upload uzantısı

    Birkaç saniye sonra, uzantınız yayımlanmış Uzantılar listesinde görünür. Endişelenmeyin, uzantı yalnızca sizin için görülebilir.

    Uzantı, yayımlanan Uzantılar listesinde görünür.

Uzantınızı yükler

Bir uzantıyı test etmek için, Azure DevOps bir kuruluşa yüklenmelidir. Yüklemenin, kuruluşun sahibi olması (veya gerekli izinlere sahip olması) gerekir. Uzantınız özel olduğundan, önce yüklemek istediğiniz kuruluşla paylaşılmalıdır.

  1. Yönetim portalından, listeden uzantınızı seçin, sağ tıklayın ve uzantıya bağlı olarak Share/paylaşımı veya Yayımla/yayımdanKaldır ' ı seçin; Share = Yayımla ve paylaşımını kaldır = Yayımdan Kaldır.

    Uzantı ' ı seçin ve paylaşma ' yı seçin.
  2. Kuruluş' ı seçin ve ardından kuruluşunuzun adını girin. Enter tuşunu seçin.

    Kuruluşla paylaşma
  3. Paneli kapatın.

    Uzantınızın artık bu kuruluşa yüklenebilirler.

  4. Market 'te, genel bakış sayfasını açmak için uzantınızı seçin.

Genel bakış sayfası
Genel bakış sayfası

Not

Uzantınızın özel olması nedeniyle, bu sayfayı yalnızca siz ve paylaşılan kuruluşun herhangi bir üyesi görebilir.

  1. Yükleme işlemini başlatmak için ücretsiz olarak al ' ı seçin. Uzantıyı, açılan menüden paylaştığınız organizasyonu seçin.

    Uzantı panelini yükle
  2. Yükle'yi seçin.

Tebrikler! Uzantınız artık bir kuruluşa yüklenmiş ve test edilmeye hazır.

Uzantınızı deneyin

Uzantınız, proje düzeyi kod alanına "hub My" adlı bir görünüme katkıda bulundunuz. Şimdi bu sayfaya gidelim.

  1. Yükleme sihirbazının sonunda kuruluşa git ' i seçerek, uzantının yüklendiği kuruluşun giriş sayfasına gidin ( ).
  1. Üzerinde gezinmek için listelenen projelerden birini seçin:

    proje seçin

    Kuruluşunuzda hiç proje yoksa, bir tane oluşturmanız istenir.

  2. Kod alanına ve ardından uzantınızın (hub 'Um) katkıda bulunduğu hub 'a gidin:

    Hub 'um

  1. Kuruluş ayarları'ıseçin ve ardından yeni yüklenen uzantınızı görmek için Uzantılar'ı seçin.

    Kuruluş ayarları, uzantılar sayfası

İpucu

Uzantıyı yükledikten sonra tarayıcınızı yeniledikten emin olun. Yeni uzantı hub'ın sol bölmede, uzantıyı ekleyeni ana hub'ın altında olduğunu görüyorsanız. Yeni uzantı hub'larını görmüyorsanız, bu sorunu Azure DevOps Services Developer Community.

Uzantınız için hata ayıklama

Visual Studio veya Browser Geliştirici Araçları kullanarak uzantının hatasını ayıklamak ve kaynak kodunu her değiştirerek uzantıyı yeniden vermeden geliştirmeyi hızlandırmak için değişiklik bildirimi ekleme özelliğine ihtiyacınız baseUri vardır:

{
    ...
    "baseUri": "https://localhost:44300",
    ...
}

Bildirimi değiştirmek, yerel web sunucusu örneğinizin uzantısını yükler. Örneğin, Visual Studio'de IISExpress. Bildirimi değiştirdikten sonra bu hata ayıklama uzantısını yalnızca bir kez dağıtın ve yükleyin.

Not

Web sayfasının güvenli bir kaynaktan Azure DevOps için yerel web sunucuyu SSL modunda çalıştırın; aksi takdirde uzantı IFRAME yüklemesi sırasında tarayıcı konsolunda bir hata alırsınız.

Sonraki adımlar