Issue テンプレートとプルリクエスト テンプレートを作成する

このページでは、Secure Source Manager の問題テンプレートとプルリクエスト テンプレートを作成して構成する方法について説明します。

必要なロール

問題と pull リクエスト テンプレートを操作するために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

Secure Source Manager のロールの付与については、IAM によるアクセス制御ユーザーにインスタンスへのアクセス権を付与するをご覧ください。

テンプレートの概要

Issue テンプレートと pull request テンプレートを使用すると、コントリビューターがリポジトリに提供する情報を標準化できます。問題テンプレートには、ユーザーが送信する問題の種類と利用可能なテンプレートの種類に応じて選択できる事前定義されたオプションが用意されています。pull リクエスト テンプレートはすべての pull リクエストに自動的に適用され、リポジトリへの投稿の一貫性が確保されます。

テンプレートは、リポジトリ内のファイルをマージする権限を持つユーザーであれば誰でも作成できます。

問題テンプレートを作成する

Secure Source Manager では、リポジトリ内の複数の場所にある Markdown ファイルを使用して問題テンプレートを定義できます。さまざまな目的で複数の問題テンプレートを作成できます。たとえば、バグの報告と機能リクエストの送信に別々のテンプレートを使用できます。

  1. 次の情報をこの形式で記述したテンプレートを作成します。

     ---
     name: TEMPLATE_NAME
     about: Insert description of template
     title: Placeholder title for the new issue when it is created
     ---
    
  2. 名前と説明を入力します。これらは必須であり、[新しい問題] ページの UI で使用されます。

  3. 必要に応じて、新しい問題の作成時にプレースホルダ タイトルとして使用されるタイトルを含めることができます。

  4. 必須の資料の下に、問題の説明に表示してユーザーが必要な情報を提供できるようにする情報を追加します。

  5. テンプレートをマークダウン ファイルとして次のいずれかの場所に保存します。

    • /.securesourcemanager/ISSUE_TEMPLATES/
    • /.securesourcemanager/issue_templates/

デフォルトの問題テンプレート

Secure Source Manager は、単一のデフォルト テンプレートの定義もサポートしています。このテンプレートは、次のいずれかの場所に定義する必要があります。

  • /.securesourcemanager/ISSUE_TEMPLATE.md
  • /.securesourcemanager/issue_template.md

ユーザーが新しい問題を作成すると、Secure Source Manager は、利用可能なテンプレートがある場合はそのテンプレートを選択するようユーザーに促し、利用可能なテンプレートがない場合はデフォルトのテンプレートを選択します。デフォルトのテンプレートが指定されていない場合、新しい問題には何も事前入力されません。

問題のテンプレートの例

テンプレートの最初の 5 行は、次の例に示す規則に従う必要があります。その他の情報は、問題のタイプに合わせてマークダウンで書式設定できます。

---
name: Bug #Used as UI element for the button on the New Issues page
about: Use this template to submit a new bug #Used as description text on the New Issues page
title: [BUG]: <Describe issue> #Used as placeholder name for newly created issue
---
# Description

# Expected result

# Actual result

# Steps to reproduce
1.
2.

# Environment
-OS:
-Software version:
-Screenshots:

pull リクエスト テンプレートを作成する

  1. 次の情報をこの形式で記述したテンプレートを作成します。

     ---
     title: "[PR]: <Insert title>"
     ---
    
  2. 必須の資料の下に、問題の説明に表示してユーザーが必要な情報を提供できるようにする情報を追加します。詳しくは、次のセクションのテンプレートの例をご覧ください。

  3. テンプレートをマークダウン ファイルとして、リポジトリ内の次のいずれかの場所に保存します。

    • /.securesourcemanager/PULL_REQUEST_TEMPLATE.md
    • /.securesourcemanager/pull_request_template.md

新しい pull リクエストを作成すると、Secure Source Manager は定義されたロケーションにテンプレートが存在するかどうかを確認し、存在する場合はテンプレートを読み込みます。テンプレートに title 情報が含まれている場合、新しいプルリクエストに自動的に入力され、ユーザーが従うべき定義済みの形式が提供されます。追加した情報は、pull リクエストの説明に追加され、送信ユーザーによって更新されます。

pull リクエスト テンプレートの例

テンプレートの最初の 3 行は、次の例に示す規則に従う必要があります。以降はすべてオプションであり、ユーザーが規約に沿った pull リクエストを作成するのに役立ちます。

---
title: "[PR]: <Insert title>"
---
<!-- Thank you for your contribution! -->

<!-- Include if applicable: -->
Fixes: #nnn <!-- tracking issues that this PR will close -->
**Related**: _Relevant tracking issues, for context_
**Merge before/after**: _Dependent or prerequisite PRs_

**Description**
<!-- Describe your changes here. The more detail, the easier the review! -->

**User facing changes (remove if N/A)**
<!-- Describe any user facing changes this PR introduces. -->
<!-- "Before" and "After" sections work great - bonus points for screenshots! -->
<!-- Be sure all docs have been updated as well! -->

**Follow-up Work (remove if N/A)**
<!-- Mention any related follow up work to this PR. -->

次のステップ