Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
---
mode: 'agent'
tools: ['azsdk_check_service_label', 'azsdk_engsys_validate_codeowners_entry_for_service', 'azsdk_engsys_codeowner_update']
tools: ['azsdk_check_service_label', 'azsdk_engsys_validate_codeowners_entry_for_service', 'azsdk_engsys_codeowner_update']
---

## Goal:
## Goal:
Validate service label and ensure at least 2 valid code owners exist for SDK repositories.

## Step 1: Validate Service Label
Use `azsdk_check_service_label` to verify the service label exists:
- **DoesNotExist/NotAServiceLabel**: Direct user to create valid service label first. Stop validation process until service label is created.
- **Exists/InReview**: Proceed to Step 2

## Step 2: Validate Code Owners
## Step 2: Validate Code Owners
Ask user to specify SDK repository they want to validate codeowners for or detect from context.

Repository name mapping:
- .NET/dotnet: use "azure-sdk-for-net"
- Python: use "azure-sdk-for-python"
- Python: use "azure-sdk-for-python"
- Java: use "azure-sdk-for-java"
- JavaScript: use "azure-sdk-for-js"
- Go: use "azure-sdk-for-go"
Expand All @@ -28,7 +28,7 @@ Use `azsdk_engsys_validate_codeowners_entry_for_service` with either `serviceLab

## Step 3: Check Existing Code Owners
Valid code owners must be:
- PUBLIC members of Microsoft and Azure GitHub organizations
- PUBLIC members of Microsoft and Azure GitHub organizations
- Have write access to the SDK repository

**If at least 2 valid owners**: Success - optionally add or delete additional owners
Expand All @@ -41,7 +41,7 @@ When no CODEOWNERS entry exists yet:
1. Ensure you have the following information
- repo - **Required** - Repository name mapping:
- .NET/dotnet: use "azure-sdk-for-net"
- Python: use "azure-sdk-for-python"
- Python: use "azure-sdk-for-python"
- Java: use "azure-sdk-for-java"
- JavaScript: use "azure-sdk-for-js"
- Go: use "azure-sdk-for-go"
Expand Down Expand Up @@ -71,4 +71,4 @@ When no CODEOWNERS entry exists yet:
## Requirements
- **MINIMUM**: At least 2 valid code owners at all times
- **NO EXCEPTIONS**: Cannot proceed with insufficient owners
- **RESPONSE HANDLING**: If any exception occurs during validation or creation, ALWAYS provide documentation link [Codeowners documentation](https://eng.ms/docs/products/azure-developer-experience/develop/supporting-sdk-customers/codeowners)
- **RESPONSE HANDLING**: If any exception occurs during validation or creation, ALWAYS provide documentation link [CODEOWNERS documentation](https://eng.ms/docs/products/azure-developer-experience/develop/supporting-sdk-customers/codeowners)
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,53 @@
mode: 'agent'
tools: ['azsdk_check_service_label', 'azsdk_create_service_label']
---

## Goal
Validate service label exists or create new one for SDK release process.

## Step 1: Get Service Label
Ask user for their service label. If none provided, explain that a valid service label is required for SDK release.

## Step 2: Validate Label

## Step 1: Provide Information

Provide the following information about the importance of service labels:

"Before your SDK is released, your service must have a valid service label in the Azure SDK repositories. Service labels enable automatic owner assignment and notifications across the Azure SDK ecosystem.

When properly configured, service labels automatically:

- Notify service owners when issues are filed against their SDK
- Add appropriate reviewers to pull requests
- Connect code changes to the right team members through CODEOWNERS integration

Without a valid service label, the process to identify the correct service owners for issues and code reviews becomes manual and inefficient."

## Step 2: Get Service Label

Ask user for their service label. If they don't know their service label provide guidance:

- Check out the [Common Labels CSV](https://github.com/Azure/azure-sdk-tools/blob/main/tools/github/data/common-labels.csv) file and look for a row whose first column contains your service's product name.

If they don't have a service label - go to Step 3 for new service label

## Step 3: Validate Label

Use `azsdk_check_service_label` to check status:

- **Exists**: Success - user can proceed with next steps in SDK release process
- **InReview**: Label pending approval - user can proceed (will be available once merged)
- **DoesNotExist**: Go to Step 3 to create new label
- **NotAServiceLabel**: Label exists but it is not a service label - go to Step 3 for new service label

## Step 3: Create New Service Label

## Step 4: Create New Service Label

If no valid service label exists, guide the user through creating a new one.

1. **Check existing labels**: Search for related service labels, offer alternatives
2. **Generate recommendation**: Suggest label name following guidelines:
- Should match the service's official product name as described on Service Tree (e.g., "Event Hubs", "Kusto", "Cosmos", etc.)
Comment thread
danieljurek marked this conversation as resolved.
- No "Microsoft/Azure" in name
- Title Case (except short prepositions)
- Avoid Service Groups: Use "Communication Rooms" instead of "Communication - Rooms"
- Single label per service
3. **Get confirmation**: User confirms or modifies suggested name
4. **Create label**: Use `azsdk_create_service_label` with confirmed name and documentation link given by user

Inform user they can proceed.
Inform user they can proceed.