azure-devops-extension-sdk package

介面

ContextIdentifier
GlobalizationContext
IExtensionContext

當前擴展的標識碼

IExtensionInitOptions

延伸初始化選項 -- 傳遞給 DevOps.init()

IHostContext

有關當前 DevOps 主機(組織)的資訊

IPageContext

放置在每個網頁上的全域上下文

ITeamContext

有關當前 DevOps 團隊的資訊

IUserContext

有關當前用戶的資訊

列舉

HostType

DevOps 主機級別

函式

applyTheme({[varName: string]: string})

將主題變數應用於當前文件

disableNestedAppAuth()

停用巢狀應用程式認證橋接器。 此呼叫後,任何 MSAL 令牌請求都會收到 BridgeDisabled 錯誤。 橋接物件仍保持連線, window.nestedAppAuthBridge 避免現有 MSAL 監聽者被孤立。 呼叫 enableNestedAppAuth() 重新啟用。

enableNestedAppAuth()

啟用此擴充功能的巢狀應用程式認證(NAA)。

設定window.nestedAppAuthBridge讓 MSAL createNestablePublicClientApplication 可以將代幣取得委派給 Azure DevOps 主機框架。 這避免了跨來源 BroadcastChannel 問題,阻止 iframes 中彈出式認證。

在建立 MSAL 實例前後 init() ,請稱之為此。 需要主機啟用 NAA 支援。

範例

await SDK.init();
await SDK.enableNestedAppAuth();
const pca = await createNestablePublicClientApplication({
    auth: { clientId: "your-entra-client-id" }
});
getAccessToken()

獲取訪問令牌,該令牌將允許對其他 DevOps 服務進行調用

getAppToken()

獲取可用於識別當前使用者的 Token

getConfiguration()

從父幀獲取初始握手中傳遞的配置數據

getContributionId()

獲取有關首次導致此擴展載入的貢獻的資訊。

getExtensionContext()

獲取有關擁有所託管內容的擴展的上下文

getHost()

取得有關主機 (的資訊,即頁面所針對的 Azure DevOps 組織)

getPageContext()

獲取有關主機頁面的上下文

getService<T>(string)

獲取具有給定貢獻ID的貢獻。返回的貢獻具有獲取該貢獻中已註冊物件的方法。

getTeamContext()

獲取有關頁面所針對的團隊的資訊

getUser()

獲取有關當前用戶的資訊

getWebContext()

獲取有關 Web 的上下文

init(IExtensionInitOptions)

啟動與主機視窗的握手。

notifyLoadFailed(string | Error)

通知主機擴展載入失敗

notifyLoadSucceeded()

通知主機擴展已成功載入(停止顯示載入指示器)

ready()

註冊一個回調,該回調在初始設置/握手完成後被調用。 如果初始設置已完成,則會在當前調用堆疊結束時調用回調。

register<T>(string, T)

註冊此擴展向主機框架公開的物件 (實例或工廠方法) 。

resize(number, number)

請求父視窗根據當前擴展大小調整此擴展的容器大小。

unregister(string)

刪除此擴展向主機框架公開的物件。

變數

sdkVersion

網頁 SDK 版本號。 可以在擴充套件的需求集合中指定,例如:vss-sdk-version/4.2

函式詳細資料

applyTheme({[varName: string]: string})

將主題變數應用於當前文件

function applyTheme(themeData: {[varName: string]: string})

參數

themeData

{[varName: string]: string}

disableNestedAppAuth()

停用巢狀應用程式認證橋接器。 此呼叫後,任何 MSAL 令牌請求都會收到 BridgeDisabled 錯誤。 橋接物件仍保持連線, window.nestedAppAuthBridge 避免現有 MSAL 監聽者被孤立。 呼叫 enableNestedAppAuth() 重新啟用。

function disableNestedAppAuth()

enableNestedAppAuth()

啟用此擴充功能的巢狀應用程式認證(NAA)。

設定window.nestedAppAuthBridge讓 MSAL createNestablePublicClientApplication 可以將代幣取得委派給 Azure DevOps 主機框架。 這避免了跨來源 BroadcastChannel 問題,阻止 iframes 中彈出式認證。

在建立 MSAL 實例前後 init() ,請稱之為此。 需要主機啟用 NAA 支援。

範例

await SDK.init();
await SDK.enableNestedAppAuth();
const pca = await createNestablePublicClientApplication({
    auth: { clientId: "your-entra-client-id" }
});
function enableNestedAppAuth(): Promise<void>

傳回

Promise<void>

當橋接器準備好時,承諾會解決;若主機不支援 NAA,則拒絕。

getAccessToken()

獲取訪問令牌,該令牌將允許對其他 DevOps 服務進行調用

function getAccessToken(): Promise<string>

傳回

Promise<string>

getAppToken()

獲取可用於識別當前使用者的 Token

function getAppToken(): Promise<string>

傳回

Promise<string>

getConfiguration()

從父幀獲取初始握手中傳遞的配置數據

function getConfiguration(): {[key: string]: any}

傳回

{[key: string]: any}

getContributionId()

獲取有關首次導致此擴展載入的貢獻的資訊。

function getContributionId(): string

傳回

string

getExtensionContext()

獲取有關擁有所託管內容的擴展的上下文

function getExtensionContext(): IExtensionContext

傳回

getHost()

取得有關主機 (的資訊,即頁面所針對的 Azure DevOps 組織)

function getHost(): IHostContext

傳回

getPageContext()

獲取有關主機頁面的上下文

function getPageContext(): IPageContext

傳回

getService<T>(string)

獲取具有給定貢獻ID的貢獻。返回的貢獻具有獲取該貢獻中已註冊物件的方法。

function getService<T>(contributionId: string): Promise<T>

參數

contributionId

string

要獲取的貢獻的ID

傳回

Promise<T>

getTeamContext()

獲取有關頁面所針對的團隊的資訊

function getTeamContext(): ITeamContext

傳回

getUser()

獲取有關當前用戶的資訊

function getUser(): IUserContext

傳回

getWebContext()

獲取有關 Web 的上下文

function getWebContext(): IWebContext

傳回

IWebContext

init(IExtensionInitOptions)

啟動與主機視窗的握手。

function init(options?: IExtensionInitOptions): Promise<void>

參數

options
IExtensionInitOptions

擴展的初始化選項。

傳回

Promise<void>

notifyLoadFailed(string | Error)

通知主機擴展載入失敗

function notifyLoadFailed(e: string | Error): Promise<void>

參數

e

string | Error

傳回

Promise<void>

notifyLoadSucceeded()

通知主機擴展已成功載入(停止顯示載入指示器)

function notifyLoadSucceeded(): Promise<void>

傳回

Promise<void>

ready()

註冊一個回調,該回調在初始設置/握手完成後被調用。 如果初始設置已完成,則會在當前調用堆疊結束時調用回調。

function ready(): Promise<void>

傳回

Promise<void>

register<T>(string, T)

註冊此擴展向主機框架公開的物件 (實例或工廠方法) 。

function register<T>(instanceId: string, instance: T)

參數

instanceId

string

已註冊物件的唯一 ID

instance

T

要麼:(1) 對象實例,要麼 (2) 獲取可選上下文數據並返回物件實例的函數。

resize(number, number)

請求父視窗根據當前擴展大小調整此擴展的容器大小。

function resize(width?: number, height?: number)

參數

width

number

可選 width,預設為 scrollWidth

height

number

可選 height,預設為 scrollHeight

unregister(string)

刪除此擴展向主機框架公開的物件。

function unregister(instanceId: string)

參數

instanceId

string

已註冊物件的唯一 ID

變數詳細資料

sdkVersion

網頁 SDK 版本號。 可以在擴充套件的需求集合中指定,例如:vss-sdk-version/4.2

sdkVersion: 5

類型

5