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

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

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

Note

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 を計画グループに追加します。

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

    <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. を使用して、この xml ファイルを witadminインポートします。

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

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