Menambahkan tindakan menu

Layanan Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Dalam contoh ini, kami menambahkan tindakan ke menu konteks pencarian di pusat kueri item kerja.

Tips

Untuk panduan pengembangan ekstensi terbaru, termasuk tema dan migrasi dari VSS. SDK, lihat portal pengembang Azure DevOps Extension SDK.

Prasyarat

Memperbarui manifes ekstensi

Tambahkan tindakan Anda ke bagian kontribusi dari manifes ekstensi Anda.

...
    "contributions": [
        {
            "id": "myAction",
            "type": "ms.vss-web.action",
            "description": "Run in Hello hub action",
            "targets": [
                "ms.vss-work-web.work-item-query-menu"
            ],
            "properties": {
                "text": "Run in Hello hub",
                "title": "Run in Hello hub",
                "icon": "images/icon.png",
                "groupId": "actions",
                "uri": "action.html"
            }
        }
    ]
...

Properti

Harta benda Deskripsi
kirim pesan teks Teks yang muncul pada item menu.
titel Teks petunjuk yang muncul pada item menu.
ikon URL ke ikon yang muncul pada item menu. URL relatif ditentukan menggunakan baseUri.
groupId Menentukan di mana item menu ini muncul sehubungan dengan item lainnya.
Uri URI ke halaman yang mendaftarkan pengelola aksi menu (lihat di bawah).
ID Objek Terdaftar (Opsional) Nama pengelola aksi menu yang terdaftar. Secara otomatis menggunakan ID kontributor.

Pelajari tentang semua tempat di mana Anda dapat menambahkan tindakan pada titik ekstensi .

Halaman HTML Anda

Tindakan menu Anda diwakili oleh skrip JavaScript yang disematkan dalam file HTML. Simpan konten berikut dalam file dan lokasi yang cocok dengan referensi di file manifes ekstensi Anda.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Action Sample</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
    <script>
        window.requirejs.config({
            enforceDefine: true,
            paths: {
                'SDK': './lib/SDK.min'
            }
        });
        window.requirejs(['SDK'], function (SDK) {
            SDK.init();
            SDK.ready().then(() => {
                // Register the menu action handler
                SDK.register(SDK.getContributionId(), {
                    execute: function (actionContext) {
                        alert("Hello, world");
                    }
                });
            });
        });
    </script>
</head>
<body>
    <div>
        The end user doesn't see the content on this page.
        It runs in the background to handle the contributed menu item being selected.
    </div>
</body>
</html>

Tips

Untuk informasi selengkapnya, lihat Titik ekstensibilitas, menu, dan toolbar, model Kontribusi , Sistem Desain Rumus , referensi REST API , sampel Ekstensi , dan sumber daya di Komunitas Pengembang .

Langkah selanjutnya

Mengemas, menerbitkan, dan menginstal ekstensi Anda.