OFREP Bulk flag evaluation (Core API)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 52/100
Piste de recherche
Commencez par l’endpoint existant d’évaluation des identity flags et par les autres endpoints facturés, puis comparez leur comportement à la spécification OFREP evaluateFlagsBulk. Implémentez et testez POST /ofrep/v1/evaluate/flags afin de couvrir l’évaluation bulk, la persistance, la facturation, ETag et les réponses conditionnelles, à l’exclusion des recherches de flux SSE ; le travail est terminé lorsque tous les critères d’acceptation sont remplis.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
In order to implement the OFREP specification, our Core API needs a new endpoint that evaluates all flags in an environment given a set of identity traits. The Edge API counterpart is Flagsmith/edge-api#711.
An interpretation of the specification to our data model is as the following example:
(request)
POST /ofrep/v1/evaluate/flags HTTP/1.1
Host: {flagsmith_host}
X-API-Key: {client_side_environment_key}
Content-Type: application/json
{
"context": {
"targetingKey": "{identity.identifier}",
"trait1": "value1",
"trait2": "value2"
}
}
(response)
HTTP/1.1 200 OK
Content-Type: application/json
ETag: "{etag}"
{
"flags": [
{
"key": "{feature.name}",
"value": "{feature_state.feature_state_value}",
"reason": "TARGETING_MATCH"
},
{
"key": "{feature.name}",
"value": {feature_state.enabled},
"reason": "STATIC"
},
{
"key": "{feature.name}",
"value": "{multivariate_feature_option.value}",
"reason": "SPLIT",
"variant": "{multivariate_feature_option.key}"
}
],
"metadata": {
"version": "{environment.updated_at}"
}
}
Acceptance criteria
- Our API exposes a new endpoint
POST /ofrep/v1/evaluate/flagscompliant to the OFREP specification. As such, the endpoint:- Responds with an
ETagheader derived from the response body. - Accepts an
If-None-Matchheader which can lead to a304 Not Modifiedresponse. - Serves each flag's value as its remote configuration value, falling back to the flag's enabled state when no value is set.
- Reports each flag's evaluation reason using the vocabulary OFREP defines.
- Is billed similarly to other billed endpoints.
- Persists the identity and its traits on the same terms as identity flag evaluation.
- Responds with an
[!IMPORTANT]
Server-Sent Events stream lookups are out of scope for this issue.
- Langage dominant
- Python
- Étoiles
- 7.1k
- Forks
- 603
- Merge moyen
- 3 j 8 h
- PR mergées (30 j)
- 102
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Flagsmith/flagsmith
-
Expose whether an organisation is blocked for API usagePeut-être pris @PiUnknown l’a pris il y a 27 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Flagsmith/flagsmith#8773 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
Environment colors mismatch in audit log viewPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Flagsmith/flagsmith#8681 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
influx_query_manager doesn't catch ApiException, so Influx error responses 500Peut-être pris @SAY-5 l’a pris il y a 1 jour. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Flagsmith/flagsmith#8510 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Sales dashboard: download_org_data 500s with "Object of type generator is not JSON serializable"Peut-être pris @Iflaqbhat l’a pris il y a 46 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de Flagsmith/flagsmith
Issues similaires
-
agents nolte-linux security skills
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
nolte/claude-shared#732 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 2 jours
-
[Bug] Source archive filter: dry run excludes SystemVerilog (.sv) files with no preflight warningOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
FinanceFlash/unvibecode#906 ·
Les mainteneurs répondent en général sous 1 jour