Bagikan melalui


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

Lihat dokumentasi terbaru kami tentang pengembangan ekstensi menggunakan Azure DevOps Extension SDK.

Prasyarat

Memperbarui file ekstensi manifes

Di bawah ini adalah cuplikan kode yang menambahkan tindakan Anda ke bagian kontribusi 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>
	</head>
	<body>
		<div>
			The end user doesn't see the content on this page.
			It is only in the background to handle the contributed menu item being selected.
		</div>
	</body>
	</html>

JavaScript Anda

Skrip di bawah ini mendaftarkan objek handler untuk menangani tindakan, menempatkannya di bagian head halaman HTML sebelumnya.

Kami mengalihnamakan lib menjadi node_modules/azure-devops-extension-sdk/lib dalam file manifest sdk-extension.json kami.

<script src="lib/SDK.min.js"></script>
<script>
    SDK.init();

    // Use an IIFE to create an object that satisfies the IContributedMenuSource contract
    var menuContributionHandler = (function () {
        "use strict";
        return {
            // This is a callback that gets invoked when a user selects the newly contributed menu item
            // The actionContext parameter contains context data surrounding the circumstances of this
            // action getting invoked.
            execute: function (actionContext) {
                alert("Hello, world");
            }
        };
    }());

    // Associate the menuContributionHandler object with the "myAction" menu contribution from the manifest.
    SDK.register(SDK.getContributionId(), menuContributionHandler);
</script>

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 berikutnya

Sekarang setelah Anda menulis ekstensi, langkah selanjutnya adalah Mengemas, Menerbitkan, dan Menginstal ekstensi Anda. Anda juga dapat memeriksa dokumentasi untuk Pengujian dan Debugging ekstensi Anda.