diff --git a/components/lib/get-rest-code-samples.ts b/components/lib/get-rest-code-samples.ts index a7a72b178b50..1439476bf6a9 100644 --- a/components/lib/get-rest-code-samples.ts +++ b/components/lib/get-rest-code-samples.ts @@ -117,7 +117,26 @@ export function getJSExample(operation: Operation, codeSample: CodeSample) { const parameters = codeSample.request ? { ...codeSample.request.parameters, ...codeSample.request.bodyParameters } : {} + + let queryParameters = '' + + // Add query parameters to the request path for POST and PUT operations in + // URL template format e.g. 'POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}' + if (operation.verb === 'post' || operation.verb === 'put') { + const queryParms = operation.parameters + .filter((param) => { + return param.in === 'query' + }) + .map((param) => { + return param.name + }) + + if (queryParms.length > 0) { + queryParameters = `{?${queryParms.join(',')}}` + } + } + return `await octokit.request('${operation.verb.toUpperCase()} ${ operation.requestPath - }', ${stringify(parameters, null, 2)})` + }${queryParameters}', ${stringify(parameters, null, 2)})` }