diff --git a/.azure-pipelines/generation-pipeline.yml b/.azure-pipelines/generation-pipeline.yml
index 13cdebb15..0d396af41 100644
--- a/.azure-pipelines/generation-pipeline.yml
+++ b/.azure-pipelines/generation-pipeline.yml
@@ -1,6 +1,5 @@
# Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
# contains an end to end validation pipeline using C# compilation tests for staging beta metadata
-
trigger: none
pr: none
schedules:
@@ -12,126 +11,120 @@ schedules:
always: true
resources:
- repositories:
- - repository: msgraph-sdk-dotnet
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-sdk-dotnet
- ref: main
- - repository: msgraph-beta-sdk-dotnet
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-beta-sdk-dotnet
- ref: main
- - repository: msgraph-sdk-php
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-sdk-php
- ref: main
- - repository: msgraph-beta-sdk-php
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-beta-sdk-php
- ref: main
- - repository: msgraph-typescript-typings
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-typescript-typings
- ref: main
- - repository: msgraph-beta-typescript-typings
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-beta-typescript-typings
- ref: main
- - repository: msgraph-sdk-java
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-sdk-java
- ref: main
- - repository: msgraph-beta-sdk-java
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-beta-sdk-java
- ref: main
- - repository: msgraph-sdk-go
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-sdk-go
- ref: main
- - repository: msgraph-beta-sdk-go
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-beta-sdk-go
- ref: main
- - repository: msgraph-sdk-typescript
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-sdk-typescript
- ref: main
- - repository: msgraph-beta-sdk-typescript
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-beta-sdk-typescript
- ref: main
- - repository: msgraph-sdk-python
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-sdk-python
- ref: main
- - repository: msgraph-beta-sdk-python
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-beta-sdk-python
- ref: main
- - repository: msgraph-metadata
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/msgraph-metadata
- - repository: microsoft-graph-docs
- type: github
- endpoint: microsoftgraph (22)
- name: microsoftgraph/microsoft-graph-docs
- - repository: kiota
- type: github
- endpoint: microsoftkiota
- name: microsoft/kiota
- - repository: Agents-M365Copilot
- type: github
- endpoint: microsoftkiota
- name: microsoft/Agents-M365Copilot
-
-
-pool: 1es-ubuntu-latest-m
-
+ repositories:
+ - repository: msgraph-sdk-dotnet
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-sdk-dotnet
+ ref: main
+ - repository: msgraph-beta-sdk-dotnet
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-beta-sdk-dotnet
+ ref: main
+ - repository: msgraph-sdk-php
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-sdk-php
+ ref: main
+ - repository: msgraph-beta-sdk-php
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-beta-sdk-php
+ ref: main
+ - repository: msgraph-typescript-typings
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-typescript-typings
+ ref: main
+ - repository: msgraph-beta-typescript-typings
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-beta-typescript-typings
+ ref: main
+ - repository: msgraph-sdk-java
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-sdk-java
+ ref: main
+ - repository: msgraph-beta-sdk-java
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-beta-sdk-java
+ ref: main
+ - repository: msgraph-sdk-go
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-sdk-go
+ ref: main
+ - repository: msgraph-beta-sdk-go
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-beta-sdk-go
+ ref: main
+ - repository: msgraph-sdk-typescript
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-sdk-typescript
+ ref: main
+ - repository: msgraph-beta-sdk-typescript
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-beta-sdk-typescript
+ ref: main
+ - repository: msgraph-sdk-python
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-sdk-python
+ ref: main
+ - repository: msgraph-beta-sdk-python
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-beta-sdk-python
+ ref: main
+ - repository: msgraph-metadata
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/msgraph-metadata
+ - repository: microsoft-graph-docs
+ type: github
+ endpoint: microsoftgraph (22)
+ name: microsoftgraph/microsoft-graph-docs
+ - repository: kiota
+ type: github
+ endpoint: microsoftkiota
+ name: microsoft/kiota
+ - repository: Agents-M365Copilot
+ type: github
+ endpoint: microsoftkiota
+ name: microsoft/Agents-M365Copilot
+ - repository: 1ESPipelineTemplates
+ type: git
+ name: 1ESPipelineTemplates/1ESPipelineTemplates
+ ref: refs/tags/release
parameters:
- - name: v1BranchPrefix
- default: v1.0/pipelinebuild
- displayName: V1 Branch Prefix
-
- - name: betaBranchPrefix
- default: beta/pipelinebuild
- displayName: Beta Branch Prefix (should be different than V1)
-
- - name: skipMetadataCaptureAndClean
- default: false
- displayName: Skip metadata capture and clean
- type: boolean
-
- - name: skipOpenApiCaptureAndClean
- default: false
- displayName: Skip OpenAPI capture and clean
- type: boolean
-
- - name: publishChanges
- default: true
- type: boolean
- displayName: Publish changes?
-
- - name: overrideSkipCI
- default: false
- type: boolean
- displayName: Override [skip ci]? Checking this box will generate the SDK PRs
-
+- name: v1BranchPrefix
+ default: v1.0/pipelinebuild
+ displayName: V1 Branch Prefix
+- name: betaBranchPrefix
+ default: beta/pipelinebuild
+ displayName: Beta Branch Prefix (should be different than V1)
+- name: skipMetadataCaptureAndClean
+ default: false
+ displayName: Skip metadata capture and clean
+ type: boolean
+- name: skipOpenApiCaptureAndClean
+ default: false
+ displayName: Skip OpenAPI capture and clean
+ type: boolean
+- name: publishChanges
+ default: true
+ type: boolean
+ displayName: Publish changes?
+- name: overrideSkipCI
+ default: false
+ type: boolean
+ displayName: Override [skip ci]? Checking this box will generate the SDK PRs
variables:
buildConfiguration: 'Release'
cleanMetadataFileBeta: '$(Build.SourcesDirectory)/msgraph-metadata/clean_beta_metadata/cleanMetadataWithDescriptionsbeta.xml'
@@ -158,288 +151,413 @@ variables:
conversionSettingsDirectory: '$(Build.SourcesDirectory)/msgraph-metadata/conversion-settings'
transformScript: '$(Build.SourcesDirectory)/msgraph-metadata/transforms/csdl/preprocess_csdl.xsl'
docsDirectory: '$(Build.SourcesDirectory)/microsoft-graph-docs'
-
v1Branch: ${{ parameters.v1BranchPrefix }}/$(Build.BuildId)
betaBranch: ${{ parameters.betaBranchPrefix }}/$(Build.BuildId)
-
publishChanges: ${{ parameters.publishChanges }}
overrideSkipCI: ${{ parameters.overrideSkipCI }}
skipMetadataCaptureAndClean: ${{ parameters.skipMetadataCaptureAndClean }}
skipOpenApiCaptureAndClean: ${{ parameters.skipOpenApiCaptureAndClean }}
phpVersion: 7.2
-
-# This stage is the core dependency for all other stages.
-stages:
-- stage: stage_build_and_publish_typewriter
- dependsOn: [] # remove the implicit dependency to any previous stage
- jobs:
- - job: build_and_publish_typewriter
- steps:
- - template: generation-templates/build-and-publish-typewriter.yml
-
-- stage: stage_build_and_publish_kiota
- dependsOn: [] # remove the implicit dependency to any previous stage
- jobs:
- - job: build_and_publish_kiota
- steps:
- - template: generation-templates/build-and-publish-kiota.yml
-
+extends:
+ template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates
+ parameters:
+ sdl:
+ sourceRepositoriesToScan:
+ include:
+ - repository: kiota
+ exclude:
+ - repository: msgraph-sdk-dotnet
+ - repository: msgraph-beta-sdk-dotnet
+ - repository: msgraph-sdk-php
+ - repository: msgraph-beta-sdk-php
+ - repository: msgraph-typescript-typings
+ - repository: msgraph-beta-typescript-typings
+ - repository: msgraph-sdk-java
+ - repository: msgraph-beta-sdk-java
+ - repository: msgraph-sdk-go
+ - repository: msgraph-beta-sdk-go
+ - repository: msgraph-sdk-typescript
+ - repository: msgraph-beta-sdk-typescript
+ - repository: msgraph-sdk-python
+ - repository: msgraph-beta-sdk-python
+ - repository: msgraph-metadata
+ - repository: microsoft-graph-docs
+ - repository: Agents-M365Copilot
+ - repository: 1ESPipelineTemplates
+ pool:
+ name: Azure-Pipelines-1ESPT-ExDShared
+ vmImage: ubuntu-latest
+ stages:
+ - stage: stage_build_and_publish_typewriter
+ dependsOn: [] # remove the implicit dependency to any previous stage
+ jobs:
+ - job: build_and_publish_typewriter
+ templateContext:
+ outputs:
+ - output: pipelineArtifact
+ targetPath: '$(Build.ArtifactStagingDirectory)'
+ artifactName: typewriter
+ steps:
+ - template: /.azure-pipelines/generation-templates/build-and-publish-typewriter.yml@self
+ - stage: stage_build_and_publish_kiota
+ dependsOn: [] # remove the implicit dependency to any previous stage
+ jobs:
+ - job: build_and_publish_kiota
+ templateContext:
+ outputs:
+ - output: pipelineArtifact
+ targetPath: '$(Build.ArtifactStagingDirectory)'
+ artifactName: kiota
+ steps:
+ - template: /.azure-pipelines/generation-templates/build-and-publish-kiota.yml@self
# Downloads the latest public beta metadata. If there are changes, we checkin
# the public metadata into microsoftgraph/msgraph-metadata, and then run the
# metadata through the cleaning and documentation processes before validating
# the results with generated and built .NET code files as a smoke test.
-- stage: stage_v1_metadata
- dependsOn: stage_build_and_publish_typewriter
- condition: |
- and(succeeded('stage_build_and_publish_typewriter'),
- eq( ${{ parameters.skipMetadataCaptureAndClean }}, false))
- jobs:
- - job: v1_metadata
- steps:
- - template: generation-templates/capture-metadata.yml
- parameters:
- endpoint: 'v1.0'
- inputMetadata: $(rawMetadataFileV1)
- outputPath: $(cleanMetadataFileV1OutputPath)
- cleanMetadataFile: $(cleanMetadataFileV1)
- cleanMetadataFolder: $(cleanMetadataFolderV1)
- cleanMetadataFileWithAnnotations: $(cleanMetadataFileWithAnnotationsV1)
- metadataTypeSpecAnnotationsSource: $(metadataTypeSpecAnnotationsSource)
+ - stage: stage_v1_metadata
+ dependsOn: stage_build_and_publish_typewriter
+ condition: |
+ and(succeeded('stage_build_and_publish_typewriter'),
+ eq( ${{ parameters.skipMetadataCaptureAndClean }}, false))
+ jobs:
+ - job: v1_metadata
+ templateContext:
+ outputs:
+ - output: pipelineArtifact
+ targetPath: '$(Build.ArtifactStagingDirectory)'
+ artifactName: $(cleanMetadataFolderV1)
+ inputs:
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'typewriter'
+ targetPath: '$(Build.SourcesDirectory)/typewriter'
+ steps:
+ - template: /.azure-pipelines/generation-templates/capture-metadata.yml@self
+ parameters:
+ endpoint: 'v1.0'
+ inputMetadata: $(rawMetadataFileV1)
+ outputPath: $(cleanMetadataFileV1OutputPath)
+ cleanMetadataFile: $(cleanMetadataFileV1)
+ cleanMetadataFolder: $(cleanMetadataFolderV1)
+ cleanMetadataFileWithAnnotations: $(cleanMetadataFileWithAnnotationsV1)
+ metadataTypeSpecAnnotationsSource: $(metadataTypeSpecAnnotationsSource)
# Same description as stage_v1_metadata
-- stage: stage_beta_metadata
- dependsOn: stage_build_and_publish_typewriter
- condition: |
- and(succeeded('stage_build_and_publish_typewriter'),
- eq( ${{ parameters.skipMetadataCaptureAndClean }}, false))
- jobs:
- - job: beta_metadata
- steps:
- - template: generation-templates/capture-metadata.yml
- parameters:
- endpoint: 'beta'
- inputMetadata: $(rawMetadataFileBeta)
- outputPath: $(cleanMetadataFileBetaOutputPath)
- cleanMetadataFile: $(cleanMetadataFileBeta)
- cleanMetadataFolder: $(cleanMetadataFolderBeta)
- cleanMetadataFileWithAnnotations: $(cleanMetadataFileWithAnnotationsBeta)
- metadataTypeSpecAnnotationsSource: $(metadataTypeSpecAnnotationsSource)
-
-- stage: stage_v1_openapi
- dependsOn: stage_v1_metadata
- condition: and(in(dependencies.stage_v1_metadata.result, 'Succeeded', 'Skipped'), eq( ${{ parameters.skipOpenApiCaptureAndClean }}, false))
- jobs:
- - template: generation-templates/capture-openapi.yml
- parameters:
- endpoint: 'v1.0'
- outputPath: $(cleanOpenAPIFileV1OutputPath)
- cleanMetadataFolder: $(cleanOpenAPIFolderV1)
-
-- stage: stage_beta_openapi
- dependsOn: stage_beta_metadata
- condition: and(in(dependencies.stage_beta_metadata.result, 'Succeeded', 'Skipped'), eq( ${{ parameters.skipOpenApiCaptureAndClean }}, false))
- jobs:
- - template: generation-templates/capture-openapi.yml
- parameters:
- endpoint: 'beta'
- outputPath: $(cleanOpenAPIFileBetaOutputPath)
- cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
-
-- stage: stage_csharp_v1_kiota
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_v1_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_v1_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: csharp_v1_kiota
- steps:
- - template: generation-templates/language-generation-kiota.yml
- parameters:
- language: 'csharp'
- version: ''
- repoName: 'msgraph-sdk-dotnet'
- baseBranchName : 'main'
- branchName: 'kiota/$(v1Branch)'
- targetClassName: "BaseGraphServiceClient"
- targetNamespace: "Microsoft.Graph"
- commitMessagePrefix: "feat(generation): update request builders and models"
- customArguments: "-b" # Enable the backing store
- cleanMetadataFolder: $(cleanOpenAPIFolderV1)
- languageSpecificSteps:
- - template: generation-templates/dotnet-kiota.yml
+ - stage: stage_beta_metadata
+ dependsOn: stage_build_and_publish_typewriter
+ condition: |
+ and(succeeded('stage_build_and_publish_typewriter'),
+ eq( ${{ parameters.skipMetadataCaptureAndClean }}, false))
+ jobs:
+ - job: beta_metadata
+ templateContext:
+ outputs:
+ - output: pipelineArtifact
+ targetPath: '$(Build.ArtifactStagingDirectory)'
+ artifactName: $(cleanMetadataFolderBeta)
+ inputs:
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'typewriter'
+ targetPath: '$(Build.SourcesDirectory)/typewriter'
+ steps:
+ - template: /.azure-pipelines/generation-templates/capture-metadata.yml@self
parameters:
- repoName: msgraph-sdk-dotnet
-
-- stage: stage_csharp_beta_kiota
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_beta_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: csharp_beta_kiota
- steps:
- - template: generation-templates/language-generation-kiota.yml
- parameters:
- language: 'csharp'
- version: 'beta'
- repoName: 'msgraph-beta-sdk-dotnet'
- baseBranchName : 'main'
- branchName: 'kiota/$(betaBranch)'
- targetClassName: "BaseGraphServiceClient"
- targetNamespace: "Microsoft.Graph.Beta"
- commitMessagePrefix: "feat(generation): update request builders and models"
- customArguments: "-b" # Enable the backing store
- cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
- languageSpecificSteps:
- - template: generation-templates/dotnet-kiota.yml
+ endpoint: 'beta'
+ inputMetadata: $(rawMetadataFileBeta)
+ outputPath: $(cleanMetadataFileBetaOutputPath)
+ cleanMetadataFile: $(cleanMetadataFileBeta)
+ cleanMetadataFolder: $(cleanMetadataFolderBeta)
+ cleanMetadataFileWithAnnotations: $(cleanMetadataFileWithAnnotationsBeta)
+ metadataTypeSpecAnnotationsSource: $(metadataTypeSpecAnnotationsSource)
+
+ - stage: stage_v1_openapi
+ dependsOn: stage_v1_metadata
+ condition: and(in(dependencies.stage_v1_metadata.result, 'Succeeded', 'Skipped'), eq( ${{ parameters.skipOpenApiCaptureAndClean }}, false))
+ jobs:
+ - template: /.azure-pipelines/generation-templates/capture-openapi.yml@self
+ parameters:
+ endpoint: 'v1.0'
+ outputPath: $(cleanOpenAPIFileV1OutputPath)
+ cleanMetadataFolder: $(cleanOpenAPIFolderV1)
+
+ - stage: stage_beta_openapi
+ dependsOn: stage_beta_metadata
+ condition: and(in(dependencies.stage_beta_metadata.result, 'Succeeded', 'Skipped'), eq( ${{ parameters.skipOpenApiCaptureAndClean }}, false))
+ jobs:
+ - template: /.azure-pipelines/generation-templates/capture-openapi.yml@self
+ parameters:
+ endpoint: 'beta'
+ outputPath: $(cleanOpenAPIFileBetaOutputPath)
+ cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
+
+ - stage: stage_csharp_v1_kiota
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_v1_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_v1_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: csharp_v1_kiota
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderV1)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderV1)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
- repoName: msgraph-beta-sdk-dotnet
-
-- stage: stage_go_v1
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_v1_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_v1_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: go_v1
- steps:
- - template: generation-templates/language-generation-kiota.yml
- parameters:
- language: 'go'
- version: ''
- repoName: 'msgraph-sdk-go'
- branchName: $(v1Branch)
- targetClassName: "GraphBaseServiceClient"
- targetNamespace: "github.com/microsoftgraph/msgraph-sdk-go/"
- customArguments: "-b -e '/me' -e '/me/**'" # Exclude me and Enable the backing store
- commitMessagePrefix: "feat(generation): update request builders and models"
- cleanMetadataFolder: $(cleanOpenAPIFolderV1)
- languageSpecificSteps:
- - template: generation-templates/go.yml
+ language: 'csharp'
+ version: ''
+ repoName: 'msgraph-sdk-dotnet'
+ baseBranchName: 'main'
+ branchName: 'kiota/$(v1Branch)'
+ targetClassName: "BaseGraphServiceClient"
+ targetNamespace: "Microsoft.Graph"
+ commitMessagePrefix: "feat(generation): update request builders and models"
+ customArguments: "-b" # Enable the backing store
+ cleanMetadataFolder: $(cleanOpenAPIFolderV1)
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/dotnet-kiota.yml@self
+ parameters:
+ repoName: msgraph-sdk-dotnet
+
+ - stage: stage_csharp_beta_kiota
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_beta_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: csharp_beta_kiota
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderBeta)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderBeta)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
- repoName: msgraph-sdk-go
-
-- stage: stage_go_beta
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_beta_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: go_beta
- steps:
- - template: generation-templates/language-generation-kiota.yml
- parameters:
- language: 'go'
- version: 'beta'
- repoName: 'msgraph-beta-sdk-go'
- branchName: $(betaBranch)
- targetClassName: "GraphBaseServiceClient"
- targetNamespace: "github.com/microsoftgraph/msgraph-beta-sdk-go/"
- customArguments: "-b -e '/me' -e '/me/**'" # Exclude me and Enable the backing store
- commitMessagePrefix: "feat(generation): update request builders and models"
- cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
- languageSpecificSteps:
- - template: generation-templates/go.yml
+ language: 'csharp'
+ version: 'beta'
+ repoName: 'msgraph-beta-sdk-dotnet'
+ baseBranchName: 'main'
+ branchName: 'kiota/$(betaBranch)'
+ targetClassName: "BaseGraphServiceClient"
+ targetNamespace: "Microsoft.Graph.Beta"
+ commitMessagePrefix: "feat(generation): update request builders and models"
+ customArguments: "-b" # Enable the backing store
+ cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/dotnet-kiota.yml@self
+ parameters:
+ repoName: msgraph-beta-sdk-dotnet
+
+ - stage: stage_go_v1
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_v1_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_v1_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: go_v1
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderV1)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderV1)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
- repoName: msgraph-beta-sdk-go
-
-- stage: stage_java_v1_kiota
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_v1_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_v1_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: java_v1_kiota
- steps:
- - template: generation-templates/language-generation-kiota.yml
- parameters:
- language: 'java'
- version: ''
- repoName: 'msgraph-sdk-java'
- baseBranchName: 'main'
- branchName: '$(v1Branch)'
- targetClassName: "BaseGraphServiceClient"
- targetNamespace: "com.Microsoft.Graph"
- cleanMetadataFolder: $(cleanOpenAPIFolderV1)
- customArguments: "-b -e '/me' -e '/me/**'" # Exclude /me/** and enable backing store
- commitMessagePrefix: "feat(generation): update request builders and models"
- languageSpecificSteps:
- - template: generation-templates/java-kiota.yml
+ language: 'go'
+ version: ''
+ repoName: 'msgraph-sdk-go'
+ branchName: $(v1Branch)
+ targetClassName: "GraphBaseServiceClient"
+ targetNamespace: "github.com/microsoftgraph/msgraph-sdk-go/"
+ customArguments: "-b -e '/me' -e '/me/**'"
+ commitMessagePrefix: "feat(generation): update request builders and models"
+ cleanMetadataFolder: $(cleanOpenAPIFolderV1)
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/go.yml@self
+ parameters:
+ repoName: msgraph-sdk-go
+ - stage: stage_go_beta
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_beta_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: go_beta
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderBeta)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderBeta)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
- repoName: msgraph-sdk-java
- namespacePath: com/microsoft/graph
-
-- stage: stage_java_beta_kiota
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_beta_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: java_beta_kiota
- steps:
- - template: generation-templates/language-generation-kiota.yml
- parameters:
- language: 'java'
- version: 'beta'
- repoName: 'msgraph-beta-sdk-java'
- baseBranchName: 'main'
- branchName: '$(betaBranch)'
- targetClassName: "BaseGraphServiceClient"
- targetNamespace: "com.Microsoft.Graph.Beta"
- cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
- customArguments: "-b -e '/me' -e '/me/**'" # Exclude /me/** and enable backing store
- commitMessagePrefix: "feat(generation): update request builders and models"
- languageSpecificSteps:
- - template: generation-templates/java-kiota.yml
+ language: 'go'
+ version: 'beta'
+ repoName: 'msgraph-beta-sdk-go'
+ branchName: $(betaBranch)
+ targetClassName: "GraphBaseServiceClient"
+ targetNamespace: "github.com/microsoftgraph/msgraph-beta-sdk-go/"
+ customArguments: "-b -e '/me' -e '/me/**'"
+ commitMessagePrefix: "feat(generation): update request builders and models"
+ cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/go.yml@self
+ parameters:
+ repoName: msgraph-beta-sdk-go
+ - stage: stage_java_v1_kiota
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_v1_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_v1_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: java_v1_kiota
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderV1)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderV1)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
- repoName: msgraph-beta-sdk-java
- namespacePath: com/microsoft/graph/beta
-
-
-- stage: stage_php_beta_kiota
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_beta_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: php_beta_kiota
- steps:
- - template: generation-templates/language-generation-kiota.yml
+ language: 'java'
+ version: ''
+ repoName: 'msgraph-sdk-java'
+ baseBranchName: 'main'
+ branchName: '$(v1Branch)'
+ targetClassName: "BaseGraphServiceClient"
+ targetNamespace: "com.Microsoft.Graph"
+ cleanMetadataFolder: $(cleanOpenAPIFolderV1)
+ customArguments: "-b -e '/me' -e '/me/**'" # Exclude /me/** and enable backing store
+ commitMessagePrefix: "feat(generation): update request builders and models"
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/java-kiota.yml@self
+ parameters:
+ repoName: msgraph-sdk-java
+ namespacePath: com/microsoft/graph
+ - stage: stage_java_beta_kiota
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_beta_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: java_beta_kiota
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderBeta)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderBeta)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
+ parameters:
+ language: 'java'
+ version: 'beta'
+ repoName: 'msgraph-beta-sdk-java'
+ baseBranchName: 'main'
+ branchName: '$(betaBranch)'
+ targetClassName: "BaseGraphServiceClient"
+ targetNamespace: "com.Microsoft.Graph.Beta"
+ cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
+ customArguments: "-b -e '/me' -e '/me/**'" # Exclude /me/** and enable backing store
+ commitMessagePrefix: "feat(generation): update request builders and models"
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/java-kiota.yml@self
+ parameters:
+ repoName: msgraph-beta-sdk-java
+ namespacePath: com/microsoft/graph/beta
+ - stage: stage_php_beta_kiota
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_beta_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: php_beta_kiota
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderBeta)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderBeta)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
language: 'php'
version: 'beta'
@@ -451,25 +569,36 @@ stages:
commitMessagePrefix: "feat(generation): update request builders and models"
cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
languageSpecificSteps:
- - template: generation-templates/php-kiota.yml
- parameters:
- repoName: msgraph-beta-sdk-php
- customArguments: "-b -e '/me' -e '/me/**'" # Exclude me and Enable the backing store
-
-- stage: stage_php_v1_kiota
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_v1_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_v1_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: php_v1_kiota
- steps:
- - template: generation-templates/language-generation-kiota.yml
+ - template: /.azure-pipelines/generation-templates/php-kiota.yml@self
+ parameters:
+ repoName: msgraph-beta-sdk-php
+ customArguments: "-b -e '/me' -e '/me/**'" # Exclude /me/** and enable backing store
+
+ - stage: stage_php_v1_kiota
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_v1_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_v1_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: php_v1_kiota
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderV1)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderV1)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
language: 'php'
version: ''
@@ -481,280 +610,375 @@ stages:
commitMessagePrefix: "feat(generation): update request builders and models"
cleanMetadataFolder: $(cleanOpenAPIFolderV1)
languageSpecificSteps:
- - template: generation-templates/php-kiota.yml
- parameters:
- repoName: msgraph-sdk-php
- customArguments: "-b -e '/me' -e '/me/**'" # Exclude me and Enable the backing store
-
-- stage: stage_typescript_v1
- dependsOn:
- - stage_build_and_publish_typewriter
- - stage_v1_metadata
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_typewriter.result, 'Succeeded'),
- in(dependencies.stage_v1_metadata.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: typescript_v1
- steps:
- - template: generation-templates/language-generation.yml
- parameters:
- language: 'TypeScript'
- version: ''
- repoName: 'msgraph-typescript-typings'
- branchName: $(v1Branch)
- cleanMetadataFile: $(cleanMetadataFileV1)
- cleanMetadataFolder: $(cleanMetadataFolderV1)
- languageSpecificSteps:
- - template: generation-templates/typescript.yml
+ - template: /.azure-pipelines/generation-templates/php-kiota.yml@self
+ parameters:
+ repoName: msgraph-sdk-php
+ customArguments: "-b -e '/me' -e '/me/**'" # Exclude /me/** and enable backing store
+
+ - stage: stage_typescript_v1
+ dependsOn:
+ - stage_build_and_publish_typewriter
+ - stage_v1_metadata
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_typewriter.result, 'Succeeded'),
+ in(dependencies.stage_v1_metadata.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: typescript_v1
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'typewriter'
+ targetPath: '$(Build.SourcesDirectory)/typewriter'
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanMetadataFolderV1)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanMetadataFolderV1)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation.yml@self
parameters:
+ language: 'TypeScript'
+ version: ''
repoName: 'msgraph-typescript-typings'
-
-- stage: stage_typescript_beta
- dependsOn:
- - stage_build_and_publish_typewriter
- - stage_beta_metadata
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_typewriter.result, 'Succeeded'),
- in(dependencies.stage_beta_metadata.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: typescript_beta
- steps:
- - template: generation-templates/language-generation.yml
- parameters:
- language: 'TypeScript'
- version: 'beta'
- repoName: 'msgraph-beta-typescript-typings'
- branchName: $(betaBranch)
- cleanMetadataFile: $(cleanMetadataFileBeta)
- cleanMetadataFolder: $(cleanMetadataFolderBeta)
- languageSpecificSteps:
- - template: generation-templates/typescript.yml
+ branchName: $(v1Branch)
+ cleanMetadataFile: $(cleanMetadataFileV1)
+ cleanMetadataFolder: $(cleanMetadataFolderV1)
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/typescript.yml@self
+ parameters:
+ repoName: 'msgraph-typescript-typings'
+
+ - stage: stage_typescript_beta
+ dependsOn:
+ - stage_build_and_publish_typewriter
+ - stage_beta_metadata
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_typewriter.result, 'Succeeded'),
+ in(dependencies.stage_beta_metadata.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: typescript_beta
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'typewriter'
+ targetPath: '$(Build.SourcesDirectory)/typewriter'
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanMetadataFolderBeta)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanMetadataFolderBeta)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation.yml@self
parameters:
+ language: 'TypeScript'
+ version: 'beta'
repoName: 'msgraph-beta-typescript-typings'
-
-- stage: stage_typescript_sdk_v1
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_v1_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_v1_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: typescript_sdk_v1
- steps:
- - template: generation-templates/language-generation-kiota.yml
- parameters:
- language: 'typescript'
- version: ''
- repoName: 'msgraph-sdk-typescript'
- baseBranchName : 'main'
- branchName: $(v1Branch)
- commitMessagePrefix: "feat(generation): update request builders and models"
- targetClassName: "GraphBaseServiceClient"
- targetNamespace: "github.com/microsoftgraph/msgraph-sdk-typescript/"
- customArguments: "-b -e '/me' -e '/me/**'" # Exclude me and enable backing store
- cleanMetadataFolder: $(cleanOpenAPIFolderV1)
- languageSpecificSteps:
- - template: generation-templates/typescript-sdk.yml
+ branchName: $(betaBranch)
+ cleanMetadataFile: $(cleanMetadataFileBeta)
+ cleanMetadataFolder: $(cleanMetadataFolderBeta)
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/typescript.yml@self
+ parameters:
+ repoName: 'msgraph-beta-typescript-typings'
+
+ - stage: stage_typescript_sdk_v1
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_v1_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_v1_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: typescript_sdk_v1
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderV1)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderV1)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
- repoName: msgraph-sdk-typescript
- packageName: '@microsoft/msgraph-sdk'
-
-- stage: stage_typescript_sdk_beta
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_beta_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: typescript_sdk_beta
- steps:
- - template: generation-templates/language-generation-kiota.yml
- parameters:
- language: 'typescript'
- version: 'beta'
- repoName: 'msgraph-beta-sdk-typescript'
- baseBranchName : 'main'
- branchName: $(betaBranch)
- commitMessagePrefix: "feat(generation): update request builders and models"
- targetClassName: "GraphBetaBaseServiceClient"
- targetNamespace: "github.com/microsoftgraph/msgraph-sdk-typescript/"
- customArguments: "-b -e '/me' -e '/me/**'" # Exclude me and enable backing store
- cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
- languageSpecificSteps:
- - template: generation-templates/typescript-sdk.yml
+ language: 'typescript'
+ version: ''
+ repoName: 'msgraph-sdk-typescript'
+ baseBranchName: 'main'
+ branchName: $(v1Branch)
+ commitMessagePrefix: "feat(generation): update request builders and models"
+ targetClassName: "GraphBaseServiceClient"
+ targetNamespace: "github.com/microsoftgraph/msgraph-sdk-typescript/"
+ customArguments: "-b -e '/me' -e '/me/**'" # Exclude me and enable backing store
+ cleanMetadataFolder: $(cleanOpenAPIFolderV1)
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/typescript-sdk.yml@self
+ parameters:
+ repoName: msgraph-sdk-typescript
+ packageName: '@microsoft/msgraph-sdk'
+
+ - stage: stage_typescript_sdk_beta
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_beta_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: typescript_sdk_beta
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderBeta)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderBeta)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
- repoName: msgraph-beta-sdk-typescript
- packageName: '@microsoft/msgraph-beta-sdk'
-
-- stage: stage_python_v1
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_v1_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_v1_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: python_v1
- steps:
- - template: generation-templates/language-generation-kiota.yml
- parameters:
- language: 'python'
- version: ''
- repoName: 'msgraph-sdk-python'
- branchName: $(v1Branch)
- targetClassName: "BaseGraphServiceClient"
- targetNamespace: "msgraph.generated"
- customArguments: "-b -e '/me' -e '/me/**'" # Enable backing store, Exclude me
- cleanMetadataFolder: $(cleanOpenAPIFolderV1)
- commitMessagePrefix: "feat(generation): update request builders and models"
- languageSpecificSteps:
- - template: generation-templates/python.yml
+ language: 'typescript'
+ version: 'beta'
+ repoName: 'msgraph-beta-sdk-typescript'
+ baseBranchName: 'main'
+ branchName: $(betaBranch)
+ commitMessagePrefix: "feat(generation): update request builders and models"
+ targetClassName: "GraphBetaBaseServiceClient"
+ targetNamespace: "github.com/microsoftgraph/msgraph-sdk-typescript/"
+ customArguments: "-b -e '/me' -e '/me/**'" # Exclude me and enable backing store
+ cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/typescript-sdk.yml@self
+ parameters:
+ repoName: msgraph-beta-sdk-typescript
+ packageName: '@microsoft/msgraph-beta-sdk'
+
+ - stage: stage_python_v1
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_v1_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_v1_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: python_v1
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderV1)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderV1)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
- repoName: msgraph-sdk-python
- baseDirectory: msgraph
-
-- stage: stage_python_beta
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_beta_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: python_beta
- steps:
- - template: generation-templates/language-generation-kiota.yml
- parameters:
- language: 'python'
- version: 'beta'
- repoName: 'msgraph-beta-sdk-python'
- branchName: $(betaBranch)
- targetClassName: "BaseGraphServiceClient"
- targetNamespace: "msgraph_beta.generated"
- customArguments: "-b -e '/me' -e '/me/**'" # Enable backing store, Exclude me
- cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
- commitMessagePrefix: "feat(generation): update request builders and models"
- languageSpecificSteps:
- - template: generation-templates/python.yml
+ language: 'python'
+ version: ''
+ repoName: 'msgraph-sdk-python'
+ branchName: $(v1Branch)
+ targetClassName: "BaseGraphServiceClient"
+ targetNamespace: "msgraph.generated"
+ customArguments: "-b -e '/me' -e '/me/**'" # Exclude me and enable backing store
+ cleanMetadataFolder: $(cleanOpenAPIFolderV1)
+ commitMessagePrefix: "feat(generation): update request builders and models"
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/python.yml@self
+ parameters:
+ repoName: msgraph-sdk-python
+ baseDirectory: msgraph
+ - stage: stage_python_beta
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_beta_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: python_beta
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderBeta)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderBeta)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
- repoName: msgraph-beta-sdk-python
- baseDirectory: msgraph_beta
-
-- stage: stage_ccs_csharp_beta
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_beta_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: csharp_beta_ccs
- steps:
- - template: generation-templates/language-generation-kiota.yml
- parameters:
- language: 'csharp'
- version: 'beta'
- orgName: 'microsoft'
- repoName: 'Agents-M365Copilot'
- baseBranchName : 'main'
- branchName: 'ccs-dotnet/$(betaBranch)'
- targetClassName: "BaseAgentsM365CopilotBetaServiceClient"
- targetNamespace: "Microsoft.Agents.M365Copilot.Beta"
- commitMessagePrefix: "feat(generation): update request builders and models for dotnet beta"
- customArguments: "-b -i '**/copilot/**'" # Enable the backing store, include only copilot paths
- cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
- pathExclusionArguments: ''
- languageSpecificSteps:
- - template: generation-templates/dotnet-kiota.yml
+ language: 'python'
+ version: 'beta'
+ repoName: 'msgraph-beta-sdk-python'
+ branchName: $(betaBranch)
+ targetClassName: "BaseGraphServiceClient"
+ targetNamespace: "msgraph_beta.generated"
+ customArguments: "-b -e '/me' -e '/me/**'"
+ cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
+ commitMessagePrefix: "feat(generation): update request builders and models"
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/python.yml@self
+ parameters:
+ repoName: msgraph-beta-sdk-python
+ baseDirectory: msgraph_beta
+ - stage: stage_ccs_csharp_beta
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_beta_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: csharp_beta_ccs
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderBeta)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderBeta)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
- repoName: 'Agents-M365Copilot/dotnet'
- packageName: Microsoft.Agents.M365Copilot.Beta
-
-- stage: stage_ccs_python_beta
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_beta_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: python_beta_ccs
- steps:
- - template: generation-templates/language-generation-kiota.yml
- parameters:
- language: 'python'
- version: 'beta'
- orgName: 'microsoft'
- repoName: 'Agents-M365Copilot'
- baseBranchName : 'main'
- branchName: 'ccs-python/$(betaBranch)'
- targetClassName: "BaseAgentsM365CopilotBetaServiceClient"
- targetNamespace: "microsoft_agents_m365copilot_beta.generated"
- customArguments: "-b -i '**/copilot/**'" # Enable the backing store, include only copilot paths
- cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
- commitMessagePrefix: "feat(generation): update request builders and models for python beta"
- pathExclusionArguments: ''
- languageSpecificSteps:
- - template: generation-templates/python.yml
+ language: 'csharp'
+ version: 'beta'
+ orgName: 'microsoft'
+ repoName: 'Agents-M365Copilot'
+ baseBranchName: 'main'
+ branchName: 'ccs-dotnet/$(betaBranch)'
+ targetClassName: "BaseAgentsM365CopilotBetaServiceClient"
+ targetNamespace: "Microsoft.Agents.M365Copilot.Beta"
+ commitMessagePrefix: "feat(generation): update request builders and models for dotnet beta"
+ customArguments: "-b -i '**/copilot/**'" # Enable the backing store, include only copilot paths
+ cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
+ pathExclusionArguments: ''
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/dotnet-kiota.yml@self
+ parameters:
+ repoName: 'Agents-M365Copilot/dotnet'
+ packageName: Microsoft.Agents.M365Copilot.Beta
+ - stage: stage_ccs_python_beta
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_beta_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: python_beta_ccs
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderBeta)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderBeta)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
- repoName: 'Agents-M365Copilot/python/packages'
- baseDirectory: microsoft_agents_m365copilot_beta
-
-- stage: stage_ccs_typescript_beta
- dependsOn:
- - stage_build_and_publish_kiota
- - stage_beta_openapi
- condition: |
- and
- (
- eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
- in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
- )
- jobs:
- - job: typescript_beta_ccs
- steps:
- - template: generation-templates/language-generation-kiota.yml
- parameters:
- language: 'typescript'
- version: 'beta'
- orgName: 'microsoft'
- repoName: 'Agents-M365Copilot'
- baseBranchName : 'main'
- branchName: 'ccs-typescript/$(betaBranch)'
- commitMessagePrefix: "feat(generation): update request builders and models for typescript beta"
- targetClassName: "BaseAgentsM365CopilotBetaServiceClient"
- targetNamespace: "github.com/microsoft/Agents-M365Copilot/typescript/"
- customArguments: "-b -i '**/copilot/**'" # Enable the backing store, include only copilot paths
- cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
- pathExclusionArguments: ''
- languageSpecificSteps:
- - template: generation-templates/ccs-typescript-sdk.yml
+ language: 'python'
+ version: 'beta'
+ orgName: 'microsoft'
+ repoName: 'Agents-M365Copilot'
+ baseBranchName: 'main'
+ branchName: 'ccs-python/$(betaBranch)'
+ targetClassName: "BaseAgentsM365CopilotBetaServiceClient"
+ targetNamespace: "microsoft_agents_m365copilot_beta.generated"
+ customArguments: "-b -i '**/copilot/**'" # Enable the backing store, include only copilot paths
+ cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
+ commitMessagePrefix: "feat(generation): update request builders and models for python beta"
+ pathExclusionArguments: ''
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/python.yml@self
+ parameters:
+ repoName: 'Agents-M365Copilot/python/packages'
+ baseDirectory: microsoft_agents_m365copilot_beta/microsoft_agents_m365copilot_beta
+ - stage: stage_ccs_typescript_beta
+ dependsOn:
+ - stage_build_and_publish_kiota
+ - stage_beta_openapi
+ condition: |
+ and
+ (
+ eq(dependencies.stage_build_and_publish_kiota.result, 'Succeeded'),
+ in(dependencies.stage_beta_openapi.result, 'Succeeded', 'Skipped')
+ )
+ jobs:
+ - job: typescript_beta_ccs
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ displayName: 'Downloading metadata from artifacts'
+ buildType: 'current'
+ artifactName: $(cleanOpenAPIFolderBeta)
+ targetPath: '$(Build.SourcesDirectory)/msgraph-metadata/$(cleanOpenAPIFolderBeta)'
+ - input: pipelineArtifact
+ buildType: 'current'
+ artifactName: 'kiota'
+ targetPath: '$(kiotaDirectory)'
+ steps:
+ - template: /.azure-pipelines/generation-templates/language-generation-kiota.yml@self
parameters:
- repoName: 'Agents-M365Copilot/typescript'
- packageName: '@microsoft/agents-m365copilot-beta'
+ language: 'typescript'
+ version: 'beta'
+ orgName: 'microsoft'
+ repoName: 'Agents-M365Copilot'
+ baseBranchName: 'main'
+ branchName: 'ccs-typescript/$(betaBranch)'
+ commitMessagePrefix: "feat(generation): update request builders and models for typescript beta"
+ targetClassName: "BaseAgentsM365CopilotBetaServiceClient"
+ targetNamespace: "github.com/microsoft/Agents-M365Copilot/typescript/"
+ customArguments: "-b -i '**/copilot/**'"
+ cleanMetadataFolder: $(cleanOpenAPIFolderBeta)
+ pathExclusionArguments: ''
+ languageSpecificSteps:
+ - template: /.azure-pipelines/generation-templates/ccs-typescript-sdk.yml@self
+ parameters:
+ repoName: 'Agents-M365Copilot/typescript'
+ packageName: '@microsoft/agents-m365copilot-beta'
diff --git a/.azure-pipelines/generation-templates/build-and-publish-kiota.yml b/.azure-pipelines/generation-templates/build-and-publish-kiota.yml
index 3cbf74aad..ae4886e92 100644
--- a/.azure-pipelines/generation-templates/build-and-publish-kiota.yml
+++ b/.azure-pipelines/generation-templates/build-and-publish-kiota.yml
@@ -1,5 +1,5 @@
steps:
-- template: use-dotnet-sdk.yml
+- template: /.azure-pipelines/generation-templates/use-dotnet-sdk.yml@self
parameters:
version: "9.x" #kiota uses a net9 target
@@ -15,9 +15,4 @@ steps:
sourceFolder: '$(Build.SourcesDirectory)/src/kiota/bin/$(BuildConfiguration)/net9.0'
contents: '**/*'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- displayName: Copy Kiota executable
-
-- task: PublishBuildArtifacts@1
- inputs:
- pathToPublish: '$(Build.ArtifactStagingDirectory)'
- artifactName: kiota
+ displayName: Copy Kiota executable
\ No newline at end of file
diff --git a/.azure-pipelines/generation-templates/build-and-publish-typewriter.yml b/.azure-pipelines/generation-templates/build-and-publish-typewriter.yml
index f18ddb91d..c97daff63 100644
--- a/.azure-pipelines/generation-templates/build-and-publish-typewriter.yml
+++ b/.azure-pipelines/generation-templates/build-and-publish-typewriter.yml
@@ -1,6 +1,5 @@
steps:
-- template: use-dotnet-sdk.yml
-
+- template: /.azure-pipelines/generation-templates/use-dotnet-sdk.yml@self
- checkout: self
displayName: checkout generator
fetchDepth: 1
@@ -15,9 +14,4 @@ steps:
sourceFolder: '$(Build.SourcesDirectory)/src/Typewriter/bin/$(BuildConfiguration)/net8.0'
contents: '**/*'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- displayName: Copy Typewriter executable
-
-- task: PublishBuildArtifacts@1
- inputs:
- pathToPublish: '$(Build.ArtifactStagingDirectory)'
- artifactName: typewriter
+ displayName: Copy Typewriter executable
\ No newline at end of file
diff --git a/.azure-pipelines/generation-templates/capture-metadata.yml b/.azure-pipelines/generation-templates/capture-metadata.yml
index 546761ae4..96637da28 100644
--- a/.azure-pipelines/generation-templates/capture-metadata.yml
+++ b/.azure-pipelines/generation-templates/capture-metadata.yml
@@ -45,8 +45,8 @@ steps:
fetchDepth: 1
persistCredentials: true
-- template: checkout-metadata.yml
-- template: set-user-config.yml
+- template: /.azure-pipelines/generation-templates/checkout-metadata.yml@self
+- template: /.azure-pipelines/generation-templates/set-user-config.yml@self
# required for TypeSpec
- task: UseNode@1
@@ -76,14 +76,10 @@ steps:
inputMetadataFile: ${{ parameters.inputMetadata }}
enabled: true
-- template: download-typewriter.yml
-
# required for typewriter
-- template: use-dotnet-sdk.yml
+- template: /.azure-pipelines/generation-templates/use-dotnet-sdk.yml@self
parameters:
version: '8.x'
-
-## Only run if the previous step was successful
- pwsh: '$(scriptsDirectory)/run-typewriter-clean-metadata.ps1'
env:
OutputPath: ${{ parameters.outputPath }}
@@ -153,20 +149,11 @@ steps:
contents: '**/*'
targetFolder: '$(Build.ArtifactStagingDirectory)'
displayName: Copy generated metadata
-
-- task: PublishBuildArtifacts@1
- inputs:
- pathToPublish: '$(Build.ArtifactStagingDirectory)'
- artifactName: ${{ parameters.cleanMetadataFolder }}
-
-# Use the clean metadata from the last step to generate DotNet files.
-
-# required for the hidi installation validation
-- template: use-dotnet-sdk.yml
+- template: /.azure-pipelines/generation-templates/use-dotnet-sdk.yml@self
parameters:
version: '9.x'
-- pwsh: dotnet tool install --global Microsoft.OpenApi.Hidi --version 1.6.24
+- pwsh: dotnet tool install --global Microsoft.OpenApi.Hidi --version 1.6.24
displayName: 'Install hidi tool'
# verify that generated metadata is parsable as an Edm model
diff --git a/.azure-pipelines/generation-templates/capture-openapi.yml b/.azure-pipelines/generation-templates/capture-openapi.yml
index 2a08868ca..617931c8d 100644
--- a/.azure-pipelines/generation-templates/capture-openapi.yml
+++ b/.azure-pipelines/generation-templates/capture-openapi.yml
@@ -1,9 +1,7 @@
-# Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
-# contains an end to end validation pipeline using C# compilation tests for staging beta metadata
-
-# capture-metadata.yml will result in the capture and cleaning of the metadata
-# with the artifacts posted to GitHub.
+# Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
+# The following template creates multiple artifacts from a matrix, this is the intended behavior to follow the same workflow before the governance migration
+# For more information please refer to: https://github.com/microsoftgraph/MSGraph-SDK-Code-Generator/pull/1377#discussion_r2271024012
parameters:
- name: 'endpoint'
type: string
@@ -13,7 +11,6 @@ parameters:
default: $(System.ArtifactsDirectory)
- name: 'cleanMetadataFolder'
type: string
-
jobs:
- job: get_conversion_settings
displayName: "Get conversion settings"
@@ -23,8 +20,7 @@ jobs:
fetchDepth: 1
persistCredentials: true
- - template: checkout-metadata.yml
-
+ - template: /.azure-pipelines/generation-templates/checkout-metadata.yml@self
- pwsh: |
$dirPath = "./conversion-settings"
$endpoint = "${{ parameters.endpoint }}"
@@ -41,10 +37,8 @@ jobs:
Write-Host "##vso[task.setvariable variable=targets;isOutput=true]$json"
name: setTargets
workingDirectory: $(Build.SourcesDirectory)/msgraph-metadata
-
- script: echo $(setTargets.targets)
displayName: "Print settings"
-
- job: convert_openapi
dependsOn: get_conversion_settings
displayName: Convert
@@ -52,27 +46,30 @@ jobs:
matrix: $[ dependencies.get_conversion_settings.outputs['setTargets.targets'] ]
variables:
targets: $[ dependencies.get_conversion_settings.outputs['setTargets.targets'] ]
-
+ templateContext:
+ outputs:
+ - output: pipelineArtifact
+ targetPath: '$(Build.ArtifactStagingDirectory)/$(Name)'
+ artifactName: '${{ parameters.cleanMetadataFolder }}-$(Name)'
steps:
- # We only need the scripts
- checkout: self
displayName: checkout generator
fetchDepth: 1
persistCredentials: true
- - template: checkout-metadata.yml
+ - template: /.azure-pipelines/generation-templates/checkout-metadata.yml@self
# required for the hidi to run
- - template: use-dotnet-sdk.yml
+ - template: /.azure-pipelines/generation-templates/use-dotnet-sdk.yml@self
parameters:
version: '8.x'
- # required for the hidi installation validation
- - template: use-dotnet-sdk.yml
+# required for the hidi installation validation
+ - template: /.azure-pipelines/generation-templates/use-dotnet-sdk.yml@self
parameters:
version: '9.x'
- - pwsh: dotnet tool install --global Microsoft.OpenApi.Hidi --version 1.6.24
+ - pwsh: dotnet tool install --global Microsoft.OpenApi.Hidi --version 1.6.24
displayName: install hidi
- pwsh: |
@@ -90,14 +87,8 @@ jobs:
inputs:
sourceFolder: ${{ parameters.outputPath }}
contents: '**/$(Name).yaml'
- targetFolder: '$(Build.ArtifactStagingDirectory)'
+ targetFolder: '$(Build.ArtifactStagingDirectory)/$(Name)'
displayName: Copy generated metadata
-
- - task: PublishBuildArtifacts@1
- inputs:
- pathToPublish: '$(Build.ArtifactStagingDirectory)'
- artifactName: ${{ parameters.cleanMetadataFolder }}
-
- pwsh: |
./scripts/run-openapi-validation.ps1 -repoDirectory (Get-Location).Path -version "${{ parameters.endpoint }}" -platformName "$(Name)"
displayName: ensure that OpenAPI docs can be parsed
@@ -107,21 +98,55 @@ jobs:
- job: publish_openapi
dependsOn: convert_openapi
displayName: Publish
+ ## If there's new settings added please add them here too
+ templateContext:
+ inputs:
+ - input: pipelineArtifact
+ artifactName: '${{ parameters.cleanMetadataFolder }}-default'
+ targetPath: '$(Build.SourcesDirectory)/artifacts'
+ - input: pipelineArtifact
+ artifactName: '${{ parameters.cleanMetadataFolder }}-graphexplorer'
+ targetPath: '$(Build.SourcesDirectory)/artifacts'
+ - input: pipelineArtifact
+ artifactName: '${{ parameters.cleanMetadataFolder }}-openapi'
+ targetPath: '$(Build.SourcesDirectory)/artifacts'
+ - input: pipelineArtifact
+ artifactName: '${{ parameters.cleanMetadataFolder }}-powershell_v2'
+ targetPath: '$(Build.SourcesDirectory)/artifacts'
+ outputs:
+ - output: pipelineArtifact
+ targetPath: '$(Build.ArtifactStagingDirectory)'
+ artifactName: ${{ parameters.cleanMetadataFolder }}
steps:
# We only need the scripts
- checkout: self
displayName: checkout generator
fetchDepth: 1
persistCredentials: true
-
- - template: checkout-metadata.yml
- - template: set-user-config.yml
- - task: DownloadPipelineArtifact@2
+ # Copy files from the maxtrix artifacts to a single folder
+ - task: CopyFiles@2
inputs:
- path: $(Build.SourcesDirectory)/msgraph-metadata/openapi/${{ parameters.endpoint }}
- artifact: ${{ parameters.cleanMetadataFolder }}
+ sourceFolder: '$(Build.SourcesDirectory)/artifacts'
+ contents: '**/*.yaml'
+ targetFolder: '$(Build.ArtifactStagingDirectory)'
+ displayName: Copy artifact metadata
+ # Copy files from the target path where artifacts should be downloaded
+ - task: CopyFiles@2
+ inputs:
+ sourceFolder: '$(Build.ArtifactStagingDirectory)'
+ contents: '**/*.yaml'
+ targetFolder: '$(Build.SourcesDirectory)/msgraph-metadata/openapi/${{ parameters.endpoint }}'
+ displayName: Copy downloaded metadata
- # Checkin clean metadata into metadata repo or make it an artifact.
+ # publish metadata as an artifact
+ - task: CopyFiles@2
+ inputs:
+ sourceFolder: ${{ parameters.outputPath }}
+ contents: '**/*.yaml'
+ targetFolder: '$(Build.ArtifactStagingDirectory)'
+ displayName: Copy downloaded metadata
+ - template: /.azure-pipelines/generation-templates/checkout-metadata.yml@self
+ - template: /.azure-pipelines/generation-templates/set-user-config.yml@self
- pwsh: '$(scriptsDirectory)/git-push-cleanmetadata.ps1'
displayName: push clean ${{ parameters.endpoint }} OpenAPI description to msgraph-metadata repo
diff --git a/.azure-pipelines/generation-templates/download-kiota.yml b/.azure-pipelines/generation-templates/download-kiota.yml
index 3e34b4e87..3ec33e096 100644
--- a/.azure-pipelines/generation-templates/download-kiota.yml
+++ b/.azure-pipelines/generation-templates/download-kiota.yml
@@ -1,9 +1,5 @@
+# This Yaml Document has been converted by ESAI Yaml Pipeline Conversion Tool.
+# Please make sure to check all the converted content, it is your team's responsibility to make sure that the pipeline is still valid and functions as expected.
+# The 'DownloadBuildArtifacts@0' tasks have been converted to inputs within the `templateContext` section of each job.
steps:
-- task: DownloadBuildArtifacts@0
- inputs:
- buildType: 'current'
- downloadType: 'single'
- artifactName: 'kiota'
- downloadPath: '$(Build.SourcesDirectory)'
-
-- bash: chmod +x $(Build.SourcesDirectory)/kiota/kiota
+- bash: chmod +x $(Build.SourcesDirectory)/kiota/kiota
\ No newline at end of file
diff --git a/.azure-pipelines/generation-templates/download-typewriter.yml b/.azure-pipelines/generation-templates/download-typewriter.yml
index 3e7960ab3..05e32557c 100644
--- a/.azure-pipelines/generation-templates/download-typewriter.yml
+++ b/.azure-pipelines/generation-templates/download-typewriter.yml
@@ -1,7 +1,4 @@
-steps:
-- task: DownloadBuildArtifacts@0
- inputs:
- buildType: 'current'
- downloadType: 'single'
- artifactName: 'typewriter'
- downloadPath: '$(Build.SourcesDirectory)'
+# This Yaml Document has been converted by ESAI Yaml Pipeline Conversion Tool.
+# Please make sure to check all the converted content, it is your team's responsibility to make sure that the pipeline is still valid and functions as expected.
+# The 'DownloadBuildArtifacts@0' tasks have been converted to inputs within the `templateContext` section of each job.
+steps: []
\ No newline at end of file
diff --git a/.azure-pipelines/generation-templates/language-generation-kiota.yml b/.azure-pipelines/generation-templates/language-generation-kiota.yml
index 2e1ec30ad..aedeb6c82 100644
--- a/.azure-pipelines/generation-templates/language-generation-kiota.yml
+++ b/.azure-pipelines/generation-templates/language-generation-kiota.yml
@@ -57,11 +57,9 @@ parameters:
default: "-e '/copilot' -e '/copilot/**'"
steps:
-- template: set-up-for-generation-kiota.yml
+- template: /.azure-pipelines/generation-templates/set-up-for-generation-kiota.yml@self
parameters:
cleanMetadataFolder: ${{ parameters.cleanMetadataFolder }}
- downloadSteps:
- - template: download-kiota.yml
- checkout: ${{ parameters.repoName }}
displayName: 'checkout ${{ parameters.repoName }}'
@@ -89,8 +87,16 @@ steps:
RepoDirectory: $(Build.SourcesDirectory)/${{ parameters.repoName }}
BranchName: ${{ parameters.branchName }}
workingDirectory: ${{ parameters.repoName }}
-
-- bash: '$(kiotaDirectory)/kiota generate --openapi $(Build.SourcesDirectory)/msgraph-metadata/${{ parameters.cleanMetadataFolder }}/openapi.yaml --language ${{ parameters.language }} -o $(kiotaDirectory)/output -n ${{ parameters.targetNamespace }} -c ${{ parameters.targetClassName }} ${{ parameters.customArguments }} ${{ parameters.pathExclusionArguments }}'
+- pwsh: |
+ Write-Host "=== Files in Kiota Directory ==="
+ Write-Host "Kiota Directory: $(kiotaDirectory)"
+ if (Test-Path "$(kiotaDirectory)") {
+ Get-ChildItem "$(kiotaDirectory)" -Recurse | Format-Table Name, FullName, Length, LastWriteTime -AutoSize
+ } else {
+ Write-Warning "Kiota directory not found: $(kiotaDirectory)"
+ }
+ displayName: 'List files in Kiota directory'
+- pwsh: '& "$(kiotaDirectory)/kiota.exe" generate --openapi "$(Build.SourcesDirectory)/msgraph-metadata/${{ parameters.cleanMetadataFolder }}/openapi.yaml" --language "${{ parameters.language }}" -o "$(kiotaDirectory)/output" -n "${{ parameters.targetNamespace }}" -c "${{ parameters.targetClassName }}" ${{ parameters.customArguments }} ${{ parameters.pathExclusionArguments }}'
displayName: 'Run Kiota for ${{ parameters.language }} ${{ parameters.version }}'
env:
KIOTA_GENERATION:EXPORTPUBLICAPI: ${{ parameters.exportDom }}
diff --git a/.azure-pipelines/generation-templates/language-generation.yml b/.azure-pipelines/generation-templates/language-generation.yml
index 0d7aa4757..f172dd678 100644
--- a/.azure-pipelines/generation-templates/language-generation.yml
+++ b/.azure-pipelines/generation-templates/language-generation.yml
@@ -34,12 +34,9 @@ parameters:
displayName: Generate PR after publish changes?
steps:
-- template: set-up-for-generation.yml
+- template: /.azure-pipelines/generation-templates/set-up-for-generation.yml@self
parameters:
cleanMetadataFolder: ${{ parameters.cleanMetadataFolder }}
- downloadSteps:
- - template: download-typewriter.yml
-
- checkout: ${{ parameters.repoName }}
displayName: 'checkout ${{ parameters.repoName }}'
fetchDepth: 1
@@ -67,7 +64,7 @@ steps:
TypewriterExecutable: $(typewriterExecutable)
TypewriterDirectory: $(typewriterDirectory)
Language: ${{ parameters.language }}
- Endpoint: ${{ parameters.version }}
+ Endpoint: ${{ parameters.version }}
displayName: 'Run Typewriter for ${{ parameters.language }} ${{ parameters.version }}'
- ${{ parameters.languageSpecificSteps }}
diff --git a/.azure-pipelines/generation-templates/set-up-for-generation-kiota.yml b/.azure-pipelines/generation-templates/set-up-for-generation-kiota.yml
index 62b8eb9e5..5b2050d06 100644
--- a/.azure-pipelines/generation-templates/set-up-for-generation-kiota.yml
+++ b/.azure-pipelines/generation-templates/set-up-for-generation-kiota.yml
@@ -1,20 +1,13 @@
parameters:
- - name: cleanMetadataFolder
- type: string
- - name: downloadSteps
- type: stepList
- default:
- - pwsh: |
- Write-Error "No download step is provided"
+- name: cleanMetadataFolder
+ type: string
steps:
-- template: set-user-config.yml
-- template: use-dotnet-sdk.yml
+- template: /.azure-pipelines/generation-templates/set-user-config.yml@self
+- template: /.azure-pipelines/generation-templates/use-dotnet-sdk.yml@self
parameters:
version: "9.x" #kiota uses a net9 target
-- ${{ parameters.downloadSteps }}
-
# checkout metadata repo if capture and clean step is skipped
- checkout: msgraph-metadata
displayName: checkout metadata
@@ -30,16 +23,3 @@ steps:
Move-Item -Path $(Build.SourcesDirectory)/msgraph-metadata/openapi/beta/openapi.yaml -Destination $(Build.SourcesDirectory)/msgraph-metadata/clean_beta_openapi/
displayName: Move metadata to expected location
condition: or(eq(variables.skipMetadataCaptureAndClean, true), eq(variables.skipOpenApiCaptureAndClean, true))
-
-# if capture and clean step is not skipped
-# then download the artifact from capture and clean steps
-# follow the same folder structure as msgraph-metadata repo
-# so that metadata reference path is always the same
-- task: DownloadBuildArtifacts@0
- inputs:
- buildType: 'current'
- downloadType: 'single'
- artifactName: ${{ parameters.cleanMetadataFolder }}
- downloadPath: '$(Build.SourcesDirectory)/msgraph-metadata'
- condition: and(eq(variables.skipMetadataCaptureAndClean, false), eq(variables.skipOpenApiCaptureAndClean, false))
- displayName: Downloading metadata from artifacts
diff --git a/.azure-pipelines/generation-templates/set-up-for-generation.yml b/.azure-pipelines/generation-templates/set-up-for-generation.yml
index 0cfc4daec..4536f99c3 100644
--- a/.azure-pipelines/generation-templates/set-up-for-generation.yml
+++ b/.azure-pipelines/generation-templates/set-up-for-generation.yml
@@ -1,16 +1,10 @@
parameters:
- name: cleanMetadataFolder
type: string
- - name: downloadSteps
- type: stepList
- default:
- - pwsh: |
- Write-Error "No download step is provided"
steps:
-- template: set-user-config.yml
-- template: use-dotnet-sdk.yml
-- ${{ parameters.downloadSteps }}
+- template: /.azure-pipelines/generation-templates/set-user-config.yml@self
+- template: /.azure-pipelines/generation-templates/use-dotnet-sdk.yml@self
# checkout metadata repo if capture and clean step is skipped
- checkout: msgraph-metadata
@@ -19,16 +13,3 @@ steps:
persistCredentials: true
submodules: recursive
condition: or(eq(variables.skipMetadataCaptureAndClean, true), eq(variables.skipOpenApiCaptureAndClean, true))
-
-# if capture and clean step is not skipped
-# then download the artifact from capture and clean steps
-# follow the same folder structure as msgraph-metadata repo
-# so that metadata reference path is always the same
-- task: DownloadBuildArtifacts@0
- inputs:
- buildType: 'current'
- downloadType: 'single'
- artifactName: ${{ parameters.cleanMetadataFolder }}
- downloadPath: '$(Build.SourcesDirectory)/msgraph-metadata'
- condition: and(eq(variables.skipMetadataCaptureAndClean, false), eq(variables.skipOpenApiCaptureAndClean, false))
- displayName: Downloading metadata from artifacts
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 625d1eef1..7a6aac7e4 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -46,7 +46,7 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@v4
+ uses: actions/checkout@v5
with:
submodules: recursive
diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml
index 208edc3a8..b060ce79c 100644
--- a/.github/workflows/dotnet.yml
+++ b/.github/workflows/dotnet.yml
@@ -12,11 +12,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
with:
submodules: recursive
- name: Setup .NET
- uses: actions/setup-dotnet@v4.3.1
+ uses: actions/setup-dotnet@v5.0.0
with:
dotnet-version: 8.0.x
- name: Restore dependencies
diff --git a/scripts/create-pull-request.ps1 b/scripts/create-pull-request.ps1
index 3478a084a..6b4571f30 100644
--- a/scripts/create-pull-request.ps1
+++ b/scripts/create-pull-request.ps1
@@ -9,8 +9,16 @@ if (($env:GeneratePullRequest -eq $False)) { # Skip CI if manually running this
return;
}
+# Special case for beta typings as it uses a non-conforming preview versioning.
+if ($env:RepoName.Contains("msgraph-beta-typescript-typings"))
+{
+ $title = "feat: generated $version models and request builders"
+}
+else {
+ $title = "Generated $version models and request builders"
+}
+
$version = $env:Version
-$title = "Generated $version models and request builders"
$body = ":bangbang:**_Important_**:bangbang:
Check for unexpected deletions or changes in this PR and ensure relevant CI checks are passing.
**Note:** This pull request was automatically created by Azure pipelines."
$baseBranchParameter = ""
diff --git a/submodules/vipr b/submodules/vipr
index c5c220440..0921e5504 160000
--- a/submodules/vipr
+++ b/submodules/vipr
@@ -1 +1 @@
-Subproject commit c5c2204400b27503a3b9fb75a36b5a3cf9ed90f0
+Subproject commit 0921e550479b18d11ccccc4f21ce4c72c8170b9b