Azure DevOps mit Microsoft Search durchsuchen

Microsoft Search durchsucht standardmässig Inhalte aus der Office 365 Suite. 2020 hat Microsoft Graph Connectors vorgestellt und diese ab Mai 2021 global freigegeben. Über Graph Connectors kann Microsoft Search Inhalte aus externen Datenquellen einbinden, durchsuchen und in den Office 365 Suchergebnissen inkludieren. Mittlerweile gibt es einen Microsoft Graph Connectors Katalog zur Übersicht welche Konnektoren es gibt. Konnektoren werden von Microsoft, Partnern oder Entwicklern bereitgestellt. Über ein Graph Connectors SDK könnte jeder Entwickler selbst eigene Konnektoren schreiben.

So praktisch und nützlich ein Connector auch sein kann, Microsoft verrechnet den Einsatz von Connectors nach Index Quota. Jedes neue Item, das ein Connector sammelt, zählt als ein Element im Index. Mehr in der Hilfe über Lizenzanforderungen.

  • Pro Microsoft 365 E5 oder Office 365 E5 Lizenz werden dem Tenant 500 Items für den Index hinzugefügt.
  • Alternativ können Unternehmen Item Pakete als Add-on kaufen. Pro Paket sind es 1 Million Items, max. 7 Millionen sind im Moment möglich.
Screenshot
  • Sind Graph Connectors im Preview Status zählen solche Items nicht zur Index Quota. In solchen Fällen sollte man trotzdem vorsichtig sein. Sobald ein Connector die Preview verlässt zählt es die Items zur Quota. Wann ein Connector die Preview verlässt ist in den wenigsten Fällen bekannt.

Wie hoch ein Index Quota pro Tenant ist lässt sich im Microsoft Search Admin Center > Data Sources überprüfen.

Screenshot

Azure DevOps ist ein Connector im Preview Status (bis 15. Mai 2022). In meinem Beispiel möchte ich die Inhalte aus DevOps mit Microsoft Search durchsuchen können. Dafür muss der DevOps Connector konfiguriert und in Microsoft Search eingebunden werden.

Anforderungen
  • Es besteht eine Azure DevOps Cloud Instanz für den Microsoft 365 Tenant. DevOps Server und TFS sind nicht unterstützt.
  • In DevOps sind in den Org-Policies der Instanz Third-Party Apps zugelassen.
Screenshot
  • In DevOps wurden bereits Items angelegt. Es darf keine neue, leere Instanz sein.
  • Das Benutzerkonto ist für die Ersteinrichtung in DevOps Administrator und hat im Microsoft Tenant die Rolle Global Admin.
  • Im Microsoft Tenant sind ausreichend Index Quotas für Graph Connectors vorhanden.
Konfiguration
  1. Du musst in DevOps eine DevOps App erstellen. Über die App wird Microsoft Search auf die Inhalte von DevOps zugreifen. Wichtig ist hier zu beachten, es muss eine DevOps App sein, keine Azure App Registration.
  2. Öffne zur Erstellung einer DevOps App https://app.vsaex.visualstudio.com/app/register und ergänze die Angaben + Berechtigungen laut den Empfehlungen von Microsoft.
Screenshot
  1. Erstelle die App. Es wird dir eine AppID, App Secret und Client Secret anzeigen. Speichere die Daten. Damit wurde die erforderliche DevOps App erstellt.
Microsoft Search DevOps App
Microsoft Search DevOps App
  1. Im nächsten Schritt muss die App über den DevOps Connector mit Microsoft Search verbunden werden.
  2. Öffne das Microsoft Search Admin Center > Data Sources und füge eine neue Datenquelle hinzu.
  3. Es wird alle verfügbaren Graph Connectors auflisten. Wähle Azure DevOps als Data Source.
Screenshot
  1. Vergib einen Anzeigenamen und eine Connection ID. Die Connection ID kannst du selbst wählen. Sie sollte aus 32 alphanummerischen Zeichen bestehen. Zur Erstellung kannst du beispielsweise einen Passwort Generator verwenden und dir einen Wert aus 32 alphanummerischen Zeichen ausgeben lassen.
Screenshot
  1. Im nächsten Schritt gibst du bei der Organisation den Namen der DevOps Instanz ein, folgend mit der App ID und Client Secret aus der in Schritt 3 erstellten DevOps App.
Screenshot
  1. Führe eine Anmeldung aus. DevOps wird dich auffordern der Microsoft Search App Zugriff auf die DevOps Inhalte zu geben. Bestätige die Anfrage. Sollte bei einer ersten Anmeldung ein Fehler auftreten warte ein paar Minuten. Das System benötigt ein paar Minuten bis die in Schritt 3 erstellte App aktiv ist.
Screenshot
  1. Jetzt möchte Microsoft Search wissen welche Projekte und Properties es aus DevOps abrufen soll. Hier empfehle ich die Properties ChangedBy und CreatedDate zu ergänzen. Sie sind in Schritt 13 erforderlich. Die Properties können in der Datenquelle nach der Erstellung nicht mehr modifiziert werden. Eine neue Datenquelle wäre erforderlich.
Screenshot
  1. Bevor der nächste Schritt möglich ist muss eine Vorschau der Ergebnisse geladen werden. Dabei tritt im aktuellen Preview Status ein Fehler auf.
Screenshot

In dem Fall hilft es die Vorauswahl von gesamter Organisation auf ein bestimmtes Projekt zu wechseln und die Vorschau dort zu laden. Dann funktioniert es mit der Vorschau und es könnte wieder zur gesamten Organisation zurückgewechselt werden. In meinem Beispiel sind es nur zwei DevOps Items.

Screenshot
  1. Im nächsten Schritt gibst du an welche Berechtigungen Microsoft Search für die Items übernehmen soll.
Screenshot
  1. Im folgenden Schritt wird die Zuordnung zwischen DevOps und Microsoft Search Properties vorgenommen. Hier ist darauf zu achten das die Auswahl übereinstimmt.
Screenshot
  1. Die nächste Konfiguration für das Schema wird übernommen wie es ist.
  2. Im Aktualisierungsintervall lässt sich konfigurieren wie oft Microsoft Search seinen Index aktualisieren soll. Du kannst es optional anpassen oder die Standardkonfiguration übernehmen.
Screenshot
  1. Zuletzt zeigt der Assistent eine Zusammenfassung über die Konfigurationen. Kontrolliere es und erstelle die Datenquelle sollte alles in Ordnung sein. Wie erwähnt können die Search Properties nachträglich nicht mehr angepasst werden.
Screenshot
  1. Die Datenquelle wird vom System publiziert. Das dauert ein paar Minuten. Sobald der Vorgang abgeschlossen ist wird sich der Status auf Ready ändern und anzeigen wie viele Items das System indexiert hat. In meinem Fall wurden die zwei erstellten Items aufgenommen.
DevOps Data Source in Microsoft Search
DevOps Data Source in Microsoft Search
  1. Jetzt sind die Items zwar im Search Index, sie werden jedoch noch nicht in der Suche aufgelistet. Für den Abschluss ist noch ein Search Vertical erforderlich. Search Verticals sind in Suchergebnissen die Tabs am oberen Rand. Damit grenzt es Suchergebnisse ein. Standardmässig sind Alle, Dateien, Seiten, Personen, Neuigkeiten, Bilder und Power BI vorhanden.
Search Verticals
Search Verticals

Für den Connector von DevOps ist ein neuer, benutzerdefinierter Search Vertical erforderlich. Benutzerdefinierte Search Verticals sind aktuell im Rollout. Ist es in deinem Tenant noch nicht verfügbar sollte es bis Ende Januar so weit sein.

  1. Einen neuen Search Virtual kannst du entweder über die Angabe in Schritt 17 erstellen, oder über das Microsoft Search Admin Center > Customizations > Verticals.
  2. Vergib einen Namen. Dieser Name wird Mitarbeitenden in der Suche angezeigt.
Screenshot
  1. In der nächsten Konfiguration wird die DevOps Datenquelle gewählt. Damit zeigt es in dem Vertical nur Ergebnisse aus DevOps an.
Screenshot
  1. Die weiteren Schritte im Assistenten sind optional und ermöglichen Vorfilterungen. Je nach Graph Connector ist es unterschiedlich ob Filterungen möglich sind. Beim DevOps Connector gibt es beispielsweise keine Properties zur Filterung.
  2. Nachdem ein Vertical neu erstellt wurde ist es standardmässig deaktiviert. Aktiviere den neue erstellten DevOps Vertical.
Screenshot
  1. Jetzt dauert es ein paar Stunden bis Microsoft Search die Änderungen publiziert. Für einen Test wird über den Zusatz cacheClear=true in der Suchadresse der Cache zurückgesetzt. Microsoft Search ladet damit die Anpassung im aktuellen Browser schneller.
  2. Unter https://www.office.com/search wird es neu den Tab “Azure DevOps” auflisten und in den Ergebnissen sollten alle Items aus DevOps aufgelistet sein. Sind die Ergebnisse aufgelistet war die Anbindung an DevOps erfolgreich. Ab sofort berücksichtigt Microsoft Search die Inhalte aus DevOps bei einer Suche.
Screenshot

Update vom 23. April 2022:
Am 16. Mai
verlässt der DevOps Connector die Preview. Ab 16. Mai zählen die Items aus dem Connector zum gesamten Index Quota.

Share
Avatar-Foto

Tobias Asböck

Tobias ist ein Senior System Engineer mit rund 10 Jahren Berufserfahrung für Microsoft 365 Produkte wie SharePoint Online, OneDrive for Business, Teams Collaboration, Entra ID, Information Protection, Universal Print und Microsoft 365 Lizenzierung. Aus der Vergangenheit kennt er über einen Zeitraum von 15+ Jahren die Planung, Administration und den Betrieb von SharePoint Server Umgebungen. Tobias ist ein PowerShell Scripter mit Zertifizierungen für Microsoft 365 Produkte. In seiner Freizeit beschäftigt sich Tobias mit Aktualisierungen in der M365-Welt, ist mit seinem Rennvelo unterwegs und anderen sportlichen Aktivitäten beschäftigt. Bei Fragen kontaktiere mich über LinkedIn oder [email protected].

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert