次の方法で共有


作業項目の種類の定義 xml を使用して作業項目フォームに拡張機能を追加する

Azure DevOps Services |Azure DevOps Server 2022 および Azure DevOps Server 2019

作業項目フォームのレイアウトを含む witadmin ツールを使用して、作業項目の種類を xml としてエクスポートできます。 この例の一部として、ページ、グループ、およびコントロールの投稿をレイアウトに追加します。 また、アジャイルの "ユーザー ストーリー" 作業項目の種類にコントロールを追加します。 詳細については、 WebLayout xml リファレンスを参照してください

xml を使用した作業項目フォームのカスタマイズは、Azure DevOps Services ではなく、Azure DevOps Server でのみサポートされます。

作業項目フォームに拡張機能を追加する

  1. Azure DevOps Server に作業項目フォーム拡張機能をインストールします。

  2. Developer Command Prompt を開きます。 次のコマンドを使用して、xml ファイルをデスクトップにエクスポートします。

    witadmin exportwitd /collection:CollectionURL /p:Project /n:TypeName /f:FileName
    

    指定したディレクトリにファイルが作成されます。

  3. このファイル内で、 WebLayout セクションに移動します。 WebLayout セクション内で、コメント BLOB は、インストールされている拡張機能がコレクションの作業項目フォームを対象とするかを指定します。 拡張機能ごとに、フォームのすべてのコントリビューションが ID と入力と共に一覧表示されます (コントロールコントリビューションの場合)。 次の例では、このコメントはコレクションにインストールされている color-control-dev 拡張機能を示しています。 拡張機能には、2 つの入力を受け取る 1 つの制御コントリビューションがあります。

         <!--**********************************Work Item Extensions***************************
    
     Extension:
         Name: color-control-dev
         Id: example.color-control-dev
    
         Control contribution:
             Id: example.color-control-dev.color-control-contribution
             Description:
             Inputs:
                 Id: FieldName
                 Description: The field associated with the control.
                 Type: Field
                 IsRequired: true
    
                 Id: Colors
                 Descriptions: The colors that match the values in the control.
                 Type: String
                 IsRequired: false
    
  4. [ 作業項目の拡張機能 ] セクションで拡張機能 ID を見つけます。

         <!--**********************************Work Item Extensions*************************** 
    
     Extension:
         Name: color-control-dev
         Id: example.color-control-dev
         ...
    
  5. 次に示すように、[ 作業項目の拡張機能] セクションの下に拡張タグを追加して、作業項目フォームで拡張機能を使用できるようにします。 フォーム内にコントリビューションを配置するには、その拡張子を Extensions セクションで指定する必要があります。

         <!--**********************************Work Item Extensions***************************
         ...
    
         Note: For more information on work item extensions use the following topic:
         https://go.microsoft.com/fwlink/?LinkId=816513
         -->
    
         <Extensions>
             <Extension Id="example.color-control-dev" />
         </Extensions>
    
  6. xml で拡張機能を指定すると、フォーム内の拡張機能で定義されている ページ コントリビューションと グループ コントリビューションの両方が自動的に配置されます。 次の例では、コントリビューションを移動できます。

ページの投稿を追加する

    <Page Id="Details">
    <PageContribution Id="<page contribution id>" />
    ...       

グループの投稿を追加する

    <Page Id="Details">
    ...
        <Section>
        ...
            <GroupContribution Id="<group contribution id>" />
            ...

ページコントリビューションとグループコントリビューションは、他のレイアウト要素を取ることはできません。

制御の貢献を追加する

ページグループのコントリビューションとは異なり、xml で拡張機能を指定しても、コントロールのコントリビューションは自動的に配置されません。 フォームにこれらの投稿を追加するには、フォーム内に投稿タグを付けて追加します。 次の例では、 ControlContribution計画 グループに追加します。

コントロールコントリビューションに必要な入力が定義されている場合、ユーザーはその入力の値を指定する必要があります。 不要な入力の場合、ユーザーは入力に値を設定するかどうかを決定できます。 次の例では、 FieldNameColors の入力が設定されます。

    <Page Id="Details">
    ...
        <Section>
        ...
            <Group Id="Planning">
            ...
                <ControlContribution Label="Priority" Id="example.color-control-dev.color-control-contribution">
                    <Inputs>
                        <Input Id="FieldName" Value="Microsoft.Azure DevOps Services.Common.Priority" />
                        <Input Id="Colors" Value="red;green" />
                    </Inputs>
                </ControlContribution>

                <Control Label="Risk" Type="FieldControl" FieldName="Microsoft.Azure DevOps Services.Common.Risk" />
  1. witadminを使用して、この xml ファイルをインポートします。

    witadmin importwitd /collection:CollectionURL /p:Project /f:FileName

拡張機能は、作業項目フォームを使用して構成されます。