diff --git a/docs/updating-graphsdk.md b/docs/updating-graphsdk.md new file mode 100644 index 00000000000..0f6c53039e7 --- /dev/null +++ b/docs/updating-graphsdk.md @@ -0,0 +1,10 @@ +# Updating Microsoft Graph SDK + +`pkg/util/graph/graphsdk` is a specially generated version of the Microsoft Graph API SDK. Since it uses the stable v1.0 of the MSGraph API, it is unlikely that it will need to be updated, although updates to the Kiota generation/libraries or new endpoints being required may require this. + +If an update is required, perform the following: + +1. Install the latest version of [Kiota](https://github.com/microsoft/kiota) (most likely by downloading it and putting it in your `$PATH`). +1. If new endpoints/schemas are required: Add the relevant endpoints and in `hack/graphsdk/openapi.yaml` from the [msgraph-metadata](https://github.com/microsoftgraph/msgraph-metadata/blob/master/openapi/v1.0/openapi.yaml) version. +1. Run `make generate-kiota` and commit the result. +1. Run `kiota info -d ./hack/graphsdk/openapi.yaml -l Go` to get the version of the Kiota libraries that are needed and update them. Then, commit the result. diff --git a/pkg/util/graph/client.go b/pkg/util/graph/client.go index 92743470445..a273246dc08 100644 --- a/pkg/util/graph/client.go +++ b/pkg/util/graph/client.go @@ -18,6 +18,9 @@ type GraphServiceClient struct { graphsdk.GraphBaseServiceClient } +// Create a GraphServiceClient for use. +// +// NOTE: If you want to update the underlying SDK, see docs/updating-graphsdk.md for instructions. func NewGraphServiceClient(adapter abstractions.RequestAdapter) *GraphServiceClient { client := graphsdk.NewGraphBaseServiceClient(adapter, store.BackingStoreFactoryInstance) return &GraphServiceClient{