Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

rulesets create and entrypoint update require an id that the API rejects

Abierto
#458 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
72/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
typescript
Área
api, cli

Línea de trabajo

Start by locating the rulesets create and rulesets entrypoint update command definitions and the request schema shown by cf schema rulesets create. Check how each command handles id when building its API request, then run the reproduction commands against a zone without an entrypoint. Done when both commands can create or update an entrypoint without requiring or sending id.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Summary of the issue

cf rulesets create and cf rulesets entrypoint update require --id, then send it in the request body, and the Rulesets API rejects it. So neither command can create a ruleset, for example a zone's first rules in the http_response_headers_transform phase.

  • Without --id: Error: --id is required. Pass --id <value> or run interactively.
  • With --id (an empty string, so the API assigns one): APIError [error] invalid JSON: unknown field "id", 400

cf schema rulesets create lists id as a required request-body field ("The unique ID of the ruleset."). The API assigns ruleset IDs and doesn't accept the field on POST /zones/{zone_id}/rulesets or on PUT /zones/{zone_id}/rulesets/phases/{phase}/entrypoint.

Expected behaviour

id is not required, nor sent, when creating a ruleset or upserting a phase entry point, so these work:

cf rulesets create --zone <zone> --kind zone --phase http_response_headers_transform --name default --rules @rules.json
cf rulesets entrypoint update http_response_headers_transform --zone <zone> --rules @rules.json
Version of cf used

1.0.0-beta.21

System information and package versions
System:
  OS: macOS 27.0.1
  CPU: (8) arm64 Apple M2
Binaries:
  Node: 26.10.0
  npm: 11.19.1
  bun: 1.4.4

cf is installed globally with Bun.

Reproduction (optional)
  1. Choose a zone with no rules in the http_response_headers_transform phase. cf rulesets entrypoint get http_response_headers_transform --zone <zone> answers [10003] could not find entrypoint ruleset.
  2. Write rules.json:
    [{ "description": "nosniff", "expression": "true", "action": "rewrite",
       "action_parameters": { "headers": { "X-Content-Type-Options": { "operation": "set", "value": "nosniff" } } } }]
    
  3. Run cf rulesets create --zone <zone> --kind zone --phase http_response_headers_transform --name default --rules @rules.json --validate-only. It fails: --id is required.
  4. Add --id "". It fails: 400 invalid JSON: unknown field "id" from POST /zones/<zone_id>/rulesets?dry_run=true.
  5. cf rulesets entrypoint update http_response_headers_transform --zone <zone> --id "" --name default --rules @rules.json --validate-only fails the same way, from PUT .../rulesets/phases/http_response_headers_transform/entrypoint?dry_run=true.
Relevant error logs (optional)
┌ APIError
│ [error] invalid JSON: unknown field "id"
│ 400 Bad Request · HTTP /zones/<zone_id>/rulesets?dry_run=true
└
Lenguaje dominante
TypeScript
Estrellas
960
Forks
62
Merge medio
17 h 15 min
PR fusionados (30 d)
194

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de cloudflare/cf

Todos los issues de cloudflare/cf

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.