Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
b2e12e7
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
e232f4e
fix: hoist invocationId to ensure persistence across upload retries
thiyaguk09 May 6, 2026
6acec62
fix: conformance test
thiyaguk09 May 7, 2026
65f9f33
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
1ae557f
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
af939f2
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 May 14, 2026
bd33380
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
cc411a0
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
394ef25
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 May 14, 2026
128bf0a
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
9010041
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
1e0b12a
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 May 15, 2026
7b6d68b
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
0e8f067
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
b28bf5a
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 May 18, 2026
a70e48a
refactor: implement per-request Gaxios instances and add hasPrecondit…
thiyaguk09 May 18, 2026
a2cd00b
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
72c17d7
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
54b4134
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 May 19, 2026
9822554
refactor: remove custom adapter and precondition logic from storage-t…
thiyaguk09 May 21, 2026
8eb2d72
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
eacb087
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
51521c0
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 May 21, 2026
683b3f4
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
0c58a9a
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
0ce5c74
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 May 25, 2026
b5c81a1
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
fe44861
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
21add18
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 May 26, 2026
7c3ee50
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
0a4f5ac
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
653188d
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 May 27, 2026
ef7c4d4
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
e3288e3
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
c52f48d
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 Jun 1, 2026
eb547c4
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
1fba172
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
b039c81
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 Jun 2, 2026
fafab27
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
d4b912f
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
9996c91
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 Jun 3, 2026
c5be999
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
c0a6220
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
afda5e1
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 Jun 4, 2026
4865c5d
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
747d276
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
0f2652b
test: add bytes method to mock Gaxios response in acl and headers tests
thiyaguk09 Jun 5, 2026
acd0c43
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 Jun 5, 2026
a82723e
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
e366cc2
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
ffd2057
test: add bytes method to mock Gaxios response in acl and headers tests
thiyaguk09 Jun 5, 2026
6f50d21
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 Jun 12, 2026
8a0e737
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
4f69ca3
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
2d55123
test: add bytes method to mock Gaxios response in acl and headers tests
thiyaguk09 Jun 5, 2026
e6387db
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 Jun 15, 2026
9379a79
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
2c0e9c8
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
473f1f2
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 Jun 18, 2026
fb221c3
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
696a337
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
7d516a8
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 Jun 19, 2026
ad814e4
test: configure retryable error function and update stream handling i…
thiyaguk09 Jun 19, 2026
efaaf4b
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
fe055f7
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
3257b66
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 Jun 22, 2026
e03e122
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
7218474
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
d4ee55c
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
9271939
lint fix
thiyaguk09 Jun 23, 2026
596c6cc
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 Jun 23, 2026
de6b408
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
20fcb11
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
9519ae8
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
1819fe4
lint fix
thiyaguk09 Jun 23, 2026
ff32235
Merge remote-tracking branch 'upstream/storage-node-18' into fix/mult…
thiyaguk09 Jun 23, 2026
85c50e2
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
0979efb
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
ba27a8f
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
948d035
lint fix
thiyaguk09 Jun 23, 2026
6b20a5b
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jun 24, 2026
fc44591
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
a81e28d
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
018f71e
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
43fc1e8
lint fix
thiyaguk09 Jun 23, 2026
25d348a
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jun 25, 2026
1946ca8
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
bae6491
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
aeb3a02
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
3217d07
lint fix
thiyaguk09 Jun 23, 2026
6ffa199
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jun 26, 2026
6723f3e
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
43fc14b
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
3f1dcdf
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
0d373cf
lint fix
thiyaguk09 Jun 23, 2026
f540356
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jun 29, 2026
0a993d6
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
4f16b2e
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
dae5c48
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
b1a54b0
lint fix
thiyaguk09 Jun 23, 2026
723fd3f
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jul 1, 2026
de16592
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
82a2239
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
74e6d6b
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
f41a664
lint fix
thiyaguk09 Jun 23, 2026
7d00c08
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jul 3, 2026
111aa89
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
eaf8c63
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
a5aac31
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
b4ac2f3
lint fix
thiyaguk09 Jun 23, 2026
ac76763
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jul 7, 2026
01ffdbb
feat: add support for optional custom invocationId in ResumableUpload…
thiyaguk09 Jul 7, 2026
20e15b0
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
c9e4407
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
01223bc
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
72b5e10
lint fix
thiyaguk09 Jun 23, 2026
3e0bc19
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jul 8, 2026
b0498ea
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
40f27b2
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
4b31465
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
191e96c
lint fix
thiyaguk09 Jun 23, 2026
0d3f8eb
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jul 9, 2026
38849e1
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
2e8a5c9
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
929c38d
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
560a61b
lint fix
thiyaguk09 Jun 23, 2026
d97d57e
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jul 21, 2026
2161bde
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
b52e1f7
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
58ec490
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
99d0a21
lint fix
thiyaguk09 Jun 23, 2026
c8139f3
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jul 22, 2026
a53b145
refactor: remove invocationId configuration option and force random U…
thiyaguk09 Jul 22, 2026
ab6a00f
test: add unit tests verifying consistent x-goog-api-client invocatio…
thiyaguk09 Jul 22, 2026
3093ecf
refactor: introduce CreateWriteStreamOptionsInternal to manage intern…
thiyaguk09 Jul 23, 2026
487c6e3
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
7920b7e
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
a31e5be
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
d8af687
lint fix
thiyaguk09 Jun 23, 2026
433b0f1
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jul 23, 2026
0cfbbf0
refactor: update buildRequestHeaders to accept individual arguments i…
thiyaguk09 Jul 23, 2026
dbd46bc
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
7e8f9ec
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
ad50970
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
ae0485b
lint fix
thiyaguk09 Jun 23, 2026
5638069
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jul 24, 2026
6ea2aee
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
321d91d
refactor(storage): remove Service.ts and migrate logic to StorageTran…
thiyaguk09 May 14, 2026
48db3ca
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
2686699
lint fix
thiyaguk09 Jun 23, 2026
40a04ea
Merge branch 'storage-node-18' into fix/multipart-invocation-id
thiyaguk09 Jul 27, 2026
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
2 changes: 1 addition & 1 deletion .github/workflows/conformance-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
persist-credentials: false
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: 14
node-version: 18
- run: node --version
- run: cd handwritten/storage && npm install
- run: cd handwritten/storage && npm run conformance-test
16 changes: 16 additions & 0 deletions handwritten/storage/.github/.OwlBot.lock.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
docker:
image: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest
digest: sha256:ebf1487fdb5be0d02d49a20b01547be3cd15cbd03f4ded7b47c65eae7920a080
19 changes: 19 additions & 0 deletions handwritten/storage/.github/.OwlBot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
docker:
image: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest


begin-after-commit-hash: 674a41e0de2869f44f45eb7b1a605852a5394bba

9 changes: 9 additions & 0 deletions handwritten/storage/.github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Code owners file.
# This file controls who is tagged for review for any given pull request.
#
# For syntax help see:
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax


# Unless specified, the jsteam is the default owner for nodejs repositories.
* @googleapis/gcs-sdk-team @googleapis/jsteam
99 changes: 99 additions & 0 deletions handwritten/storage/.github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: Bug Report
description: Create a report to help us improve
labels:
- bug
body:
- type: markdown
attributes:
value: >
**PLEASE READ**: If you have a support contract with Google, please
create an issue in the [support
console](https://cloud.google.com/support/) instead of filing on GitHub.
This will ensure a timely response. Otherwise, please make sure to
follow the steps below.
- type: checkboxes
attributes:
label: Please make sure you have searched for information in the following
guides.
options:
- label: "Search the issues already opened:
https://github.com/GoogleCloudPlatform/google-cloud-node/issues"
required: true
- label: "Search StackOverflow:
http://stackoverflow.com/questions/tagged/google-cloud-platform+nod\
e.js"
required: true
- label: "Check our Troubleshooting guide:
https://github.com/googleapis/google-cloud-node/blob/main/docs/trou\
bleshooting.md"
required: true
- label: "Check our FAQ:
https://github.com/googleapis/google-cloud-node/blob/main/docs/faq.\
md"
required: true
- label: "Check our libraries HOW-TO:
https://github.com/googleapis/gax-nodejs/blob/main/client-libraries\
.md"
required: true
- label: "Check out our authentication guide:
https://github.com/googleapis/google-auth-library-nodejs"
required: true
- label: "Check out handwritten samples for many of our APIs:
https://github.com/GoogleCloudPlatform/nodejs-docs-samples"
required: true
- type: textarea
attributes:
label: >
A screenshot that you have tested with "Try this API".
description: >
As our client libraries are mostly autogenerated, we kindly request
that you test whether your issue is with the client library, or with the
API itself. To do so, please search for your API
here: https://developers.google.com/apis-explorer and attempt to
reproduce the issue in the given method. Please include a screenshot of
the response in "Try this API". This response should NOT match the current
behavior you are experiencing. If the behavior is the same, it means
that you are likely experiencing a bug with the API itself. In that
case, please submit an issue to the API team, either by submitting an
issue in its issue tracker (https://cloud.google.com/support/docs/issue-trackers), or by
submitting an issue in its linked tracker in the .repo-metadata.json
file https://issuetracker.google.com/savedsearches/559782
validations:
required: true
- type: input
attributes:
label: >
Link to the code that reproduces this issue. A link to a **public** Github Repository or gist with a minimal
reproduction.
description: >
**Skipping this or providing an invalid link will result in the issue being closed**
validations:
required: true
- type: textarea
attributes:
label: >
A step-by-step description of how to reproduce the issue, based on
the linked reproduction.
description: >
Screenshots can be provided in the issue body below.
placeholder: |
1. Start the application in development (next dev)
2. Click X
3. Y will happen
validations:
required: true
- type: textarea
attributes:
label: A clear and concise description of what the bug is, and what you
expected to happen.
placeholder: Following the steps from the previous section, I expected A to
happen, but I observed B instead
validations:
required: true

- type: textarea
attributes:
label: A clear and concise description WHY you expect this behavior, i.e., was it a recent change, there is documentation that points to this behavior, etc. **
placeholder: 'Documentation here(link) states that B should happen instead of A'
validations:
required: true
4 changes: 4 additions & 0 deletions handwritten/storage/.github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
contact_links:
- name: Google Cloud Support
url: https://cloud.google.com/support/
about: If you have a support contract with Google, please use the Google Cloud Support portal.
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Documentation Requests
description: Requests for more information
body:
- type: markdown
attributes:
value: >
Please use this issue type to log documentation requests against the library itself.
These requests should involve documentation on Github (`.md` files), and should relate to the library
itself. If you have questions or documentation requests for an API, please
reach out to the API tracker itself.

Please submit an issue to the API team, either by submitting an
issue in its issue tracker https://cloud.google.com/support/docs/issue-trackers), or by
submitting an issue in its linked tracker in the .repo-metadata.json
file in the API under packages/* ([example](https://issuetracker.google.com/savedsearches/559782)).
You can also submit a request to documentation on cloud.google.com itself with the "Send Feedback"
on the bottom of the page.


Please note that documentation requests and questions for specific APIs
will be closed.
- type: checkboxes
attributes:
label: Please make sure you have searched for information in the following
guides.
options:
- label: "Search the issues already opened:
https://github.com/GoogleCloudPlatform/google-cloud-node/issues"
required: true
- label: "Check our Troubleshooting guide:
https://googlecloudplatform.github.io/google-cloud-node/#/docs/guid\
es/troubleshooting"
required: true
- label: "Check our FAQ:
https://googlecloudplatform.github.io/google-cloud-node/#/docs/guid\
es/faq"
required: true
- label: "Check our libraries HOW-TO:
https://github.com/googleapis/gax-nodejs/blob/main/client-libraries\
.md"
required: true
- label: "Check out our authentication guide:
https://github.com/googleapis/google-auth-library-nodejs"
required: true
- label: "Check out handwritten samples for many of our APIs:
https://github.com/GoogleCloudPlatform/nodejs-docs-samples"
required: true
- type: textarea
attributes:
label: >
Documentation Request
validations:
required: true
53 changes: 53 additions & 0 deletions handwritten/storage/.github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Feature Request
description: Suggest an idea for this library
labels:
- feature request
body:
- type: markdown
attributes:
value: >
**PLEASE READ**: If you have a support contract with Google, please
create an issue in the [support
console](https://cloud.google.com/support/) instead of filing on GitHub.
This will ensure a timely response. Otherwise, please make sure to
follow the steps below.
- type: textarea
attributes:
label: >
A screenshot that you have tested with "Try this API".
description: >
As our client libraries are mostly autogenerated, we kindly request
that you test whether your feature request is with the client library, or with the
API itself. To do so, please search for your API
here: https://developers.google.com/apis-explorer and attempt to
reproduce the issue in the given method. Please include a screenshot of
the response in "Try this API". This response should NOT match the current
behavior you are experiencing. If the behavior is the same, it means
that you are likely requesting a feature for the API itself. In that
case, please submit an issue to the API team, either by submitting an
issue in its issue tracker https://cloud.google.com/support/docs/issue-trackers, or by
submitting an issue in its linked tracker in the .repo-metadata.json
file in the API under packages/* ([example](https://issuetracker.google.com/savedsearches/559782))

Example of library specific issues would be: retry strategies, authentication questions, or issues with typings.
Examples of API issues would include: expanding method parameter types, adding functionality to an API.
validations:
required: true
- type: textarea
attributes:
label: >
What would you like to see in the library?
description: >
Screenshots can be provided in the issue body below.
placeholder: |
1. Set up authentication like so
2. Run the program like so
3. X would be nice to happen

- type: textarea
attributes:
label: Describe alternatives you've considered

- type: textarea
attributes:
label: Additional context/notes
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
name: Process Request
about: Submit a process request to the library. Process requests are any requests related to library infrastructure, for example CI/CD, publishing, releasing, broken links.
---
8 changes: 8 additions & 0 deletions handwritten/storage/.github/ISSUE_TEMPLATE/questions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
name: Question
about: If you have a question, please use Discussions

---

If you have a general question that goes beyond the library itself, we encourage you to use [Discussions](https://github.com//discussions)
to engage with fellow community members!
7 changes: 7 additions & 0 deletions handwritten/storage/.github/ISSUE_TEMPLATE/support_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
name: Support request
about: If you have a support contract with Google, please create an issue in the Google Cloud Support console.

---

**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
7 changes: 7 additions & 0 deletions handwritten/storage/.github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/nodejs-storage/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
2 changes: 2 additions & 0 deletions handwritten/storage/.github/auto-approve.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
processes:
- "NodeDependency"
2 changes: 2 additions & 0 deletions handwritten/storage/.github/auto-label.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
requestsize:
enabled: true
16 changes: 16 additions & 0 deletions handwritten/storage/.github/generated-files-bot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
generatedFiles:
- path: '.kokoro/**'
message: '`.kokoro` files are templated and should be updated in [`synthtool`](https://github.com/googleapis/synthtool)'
- path: '.github/CODEOWNERS'
message: 'CODEOWNERS should instead be modified via the `codeowner_team` property in .repo-metadata.json'
- path: '.github/workflows/ci.yaml'
message: '`.github/workflows/ci.yaml` (GitHub Actions) should be updated in [`synthtool`](https://github.com/googleapis/synthtool)'
- path: '.github/generated-files-bot.+(yml|yaml)'
message: '`.github/generated-files-bot.(yml|yaml)` should be updated in [`synthtool`](https://github.com/googleapis/synthtool)'
- path: 'README.md'
message: '`README.md` is managed by [`synthtool`](https://github.com/googleapis/synthtool). However, a partials file can be used to update the README, e.g.: https://github.com/googleapis/nodejs-storage/blob/main/.readme-partials.yaml'
- path: 'samples/README.md'
message: '`samples/README.md` is managed by [`synthtool`](https://github.com/googleapis/synthtool). However, a partials file can be used to update the README, e.g.: https://github.com/googleapis/nodejs-storage/blob/main/.readme-partials.yaml'
ignoreAuthors:
- 'gcf-owl-bot[bot]'
- 'yoshi-automation'
6 changes: 6 additions & 0 deletions handwritten/storage/.github/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
handleGHRelease: true
releaseType: node
branches:
- handleGHRelease: true
releaseType: node
branch: 4.x
1 change: 1 addition & 0 deletions handwritten/storage/.github/release-trigger.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
enabled: true
56 changes: 56 additions & 0 deletions handwritten/storage/.github/scripts/close-invalid-link.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

async function closeIssue(github, owner, repo, number) {
await github.rest.issues.createComment({
owner: owner,
repo: repo,
issue_number: number,
body: 'Issue was opened with an invalid reproduction link. Please make sure the repository is a valid, publicly-accessible github repository, and make sure the url is complete (example: https://github.com/googleapis/google-cloud-node)'
});
await github.rest.issues.update({
owner: owner,
repo: repo,
issue_number: number,
state: 'closed'
});
}
module.exports = async ({github, context}) => {
const owner = context.repo.owner;
const repo = context.repo.repo;
const number = context.issue.number;

const issue = await github.rest.issues.get({
owner: owner,
repo: repo,
issue_number: number,
});

const isBugTemplate = issue.data.body.includes('Link to the code that reproduces this issue');

if (isBugTemplate) {
console.log(`Issue ${number} is a bug template`)
try {
const link = issue.data.body.split('\n')[18].match(/(https?:\/\/(gist\.)?github.com\/.*)/)[0];
console.log(`Issue ${number} contains this link: ${link}`)
const isValidLink = (await fetch(link)).ok;
console.log(`Issue ${number} has a ${isValidLink ? 'valid' : 'invalid'} link`)
if (!isValidLink) {
await closeIssue(github, owner, repo, number);
}
} catch (err) {
await closeIssue(github, owner, repo, number);
}
}
};
Loading
Loading