-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug 1336452 : Specific users view + Release History Diffs & View API migration #323
Conversation
9f7f09c
to
750904a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks again for the walkthrough of Parameters vs. Definitions today. Now that I understand that Parameters can only be used for things that are exactly the same (no parameters added, removed or changed) across multiple endpoints, this makes a lot more sense. I still think it's a bit confusing for newcomers to swagger, but that's not a fault of your patch :).
There's small some questions and comments below, but this looks good structurally.
auslib/web/admin/swagger/api.yaml
Outdated
name: change_id | ||
in: path | ||
description: Unique id to identify the identify the change | ||
type: string |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be an integer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That seems like a bug. It's definitely an integer in the database (https://github.com/mozilla/balrog/blob/2a245b6e25ff38a4b896fb6965d66d884bb9d79a/auslib/db.py#L629), and it's returned by the /rules/:rule_id/revisions endpoint as an integer. Can you make this an integer, too?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
surely
|
||
|
||
responses: | ||
updateExistingPermission: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a generic update response when anything is updated (similar to newObjectDataVersion). Is it really specific to updating permissions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, the descriptions and minimum is unique for updating the existing permissions. Specifically the description part so as not to confuse the client when they read the docs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm still not sure I understand why this needs to be specific to permissions. You're using generic terms for parameters like change_id, why not here? If you change the descirption to say something like "data version of the updated object", this can be re-used for rule, release, scheduled change, etc. updates.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you clarify this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Already addressed here in release branch, forgot to update the comment
description: Default case for sporadic exceptions. Example, No remote username and password in basic authentication for posting new data. | ||
examples: | ||
application/json: | ||
Error: "REMOTE_USERNAME required" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you sure that username/password being required fits here? I think that's a very specific error (a 401), eg:
$ curl -L https://aus4-admin.mozilla.org
<html>
<head><title>401 Authorization Required</title></head>
<body bgcolor="white">
<center><h1>401 Authorization Required</h1></center>
<hr><center>nginx</center>
</body>
</html>
Maybe this just needs a new name? And if it's really handling the 401's, it should be applied to all endpoints.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the idea was to only define those 400x responses which are explicitly thrown from within the API methods. Example , The handle general exceptions and required login decorator apply for all put,post and delete operations. To make the specification flexible enough so that if any new decorator is added in future returning exception in any format, we don't have to edit every API specification I thought it would be best to have a default case rather than specify 401,403 , 400 and 404 as it could confuse clients. Also ChangeScheduledError, UpdateMergeError and OutdatedDataError all throw 400 error with different exception messages , hence having only one specific example could be a bit misleading in the swagger specification.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the part that confuses me is that I can't think of any other errors that would be caught by this other than the username/password one. Do you have another example?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In updating an existing rule, if the data_version is outdated here , then OutDatedDataVersion Error of 400 will be automatically handled here. Same case for PermissionDenied 403 error. In future if any new HTTP exception code is added/modified or deleted, then we don't have to edit the entire schema every time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still don't think we're talking about the same thing here. I fully agree that this default handler makes sense, I just don't think the "example" that talks about username/password is relevant. How about just using "Unhandled error" as the description?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per last week's discussion, there's no need to define the 'default' case at all. Removing all the default responses
examples: | ||
application/json: | ||
detail: "Requested resource was not found" | ||
status: 404 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice to see all of these common cases getting refactored.
# accomodate 'options_as_json' and 'permission' which are duplicate values of 'options' | ||
# and 'permission path parameter' respectively, getting passed in request body | ||
# No need to validate the duplicate values again | ||
additionalProperties: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This sounds like another case of the UI passing things it shouldn't. The backend doesn't look for either of these things in the form (as far as I know), so we shouldn't allow them to be passed. It makes the interface confusing and validation less useful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was unable to debug the issue on UI. AFAIK , the duplicate value is getting set here but in next line the API is invoked. Also here's the definition of permission i.e. data object. link , it defines options_as_json and permission so that they can be displayed on the UI after adding or updating the permissions. Example: link , link2. Not sure how to fix this issue on the UI
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the key here is making sure that only the required parameters are passed to the Permissions service. Eg: remove options_as_json from "permission" before passing it along.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two cases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that you're only replicating existing behaviour, I'm not going to block on it.
format: int32 | ||
description: data_version of permission | ||
minimum: 1 | ||
example: 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think data_version and options both need to be set to required: true.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This parameter gets used by /users/{username}/permissions/{permission}, which only handle updates. Does this mean that data_version is not going to be checked for that endpoint?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is going to be checked explicitly in the method body.
Reason: considering the PUT operation's method, it handles two cases: First whether the input permission already exists (if yes then update it using data_version as required parameter). If it does not then it create a new permission (data_version isn't required in the input).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, this is fine.
if not connexion.request.json.get("data_version"): | ||
return problem(400, "Bad Request", "'data_version' is missing from request body") | ||
|
||
options_dict = None if not connexion.request.json.get("options") else json.loads( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you split this (and the subsequent similar code) into multiple lines? Something like:
options_dict = None
if connexion.request.json.get("options"):
options_dict = json.loads(...)
...is much easier to read.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
surely
750904a
to
56e0f2b
Compare
|
||
responses: | ||
updateExistingPermission: | ||
description: "If the user already has the given permission, update its options and the data_version" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is a fitting description for a response, this seems like it would be more appropriate for a request decription?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you address this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
already addressed here in release branch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a couple small things and one question below. This is more or less ready, though.
format: int32 | ||
description: data_version of permission | ||
minimum: 1 | ||
example: 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This parameter gets used by /users/{username}/permissions/{permission}, which only handle updates. Does this mean that data_version is not going to be checked for that endpoint?
# accomodate 'options_as_json' and 'permission' which are duplicate values of 'options' | ||
# and 'permission path parameter' respectively, getting passed in request body | ||
# No need to validate the duplicate values again | ||
additionalProperties: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that you're only replicating existing behaviour, I'm not going to block on it.
|
||
|
||
responses: | ||
updateExistingPermission: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you clarify this?
description: Default case for sporadic exceptions. Example, No remote username and password in basic authentication for posting new data. | ||
examples: | ||
application/json: | ||
Error: "REMOTE_USERNAME required" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still don't think we're talking about the same thing here. I fully agree that this default handler makes sense, I just don't think the "example" that talks about username/password is relevant. How about just using "Unhandled error" as the description?
|
||
responses: | ||
updateExistingPermission: | ||
description: "If the user already has the given permission, update its options and the data_version" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you address this?
All of the required changes here ended up in #336 by accident. That will end up merging at the same time, so I'm r+'ing this one. |
56e0f2b
to
9555679
Compare
…migration (mozilla-releng#323). r=bhearsum
* [balrog-ui] bug 1281912: Rules pagination bad wrapping (mozilla-releng#36). r=bhearsum * [balrog-ui] Build latest UI. * Pick up latest UI. * bug 1248475: Rate changes and rule ids not shown on rule history (fixes mozilla-releng#113). r=bhearsum * [balrog-ui] Use larger modal for rule duplication (follow-up from bug 1296683). * Update sample data to include new-style GMP rules and releases. (mozilla-releng#118) * Pick up latest UI. * [balrog-ui] Update api proxy port to use the default admin api port. * [balrog-ui] bug 1246675: UI for Scheduled Rule Changes (mozilla-releng#30). r=nthomas * Pick up latest version of UI. * Bug 1299203: Part 1, remove ui submodule * bug 1246675: Don't allow changes in the past to be scheduled (mozilla-releng#119). r=nthomas * Bug 1299203: Part 3, Make UI tests run in the docker image * Add PhantomJS in PATH thanks to node package * Add testem to node_modules binaries * Bug 1299213 - Clean up ui/* now that no submodule is used (mozilla-releng#115). r=bhearsum * bug 1270827: support substitution in DesupportBlob urls (mozilla-releng#122). r=bhearsum * Switch to more compact form of mock. * Version bump for next release. * Add test to ensure that changes cannot be scheduled for the same row at the same time. * Don't allow multiple scheduled changes for the same PK. * Bug 1278543: history field view doesn't work on integer columns (mozilla-releng#124). r=bhearsum * Bug 1041584 - move balrog whitelist checks out of AUSDatabase (mozilla-releng#121). r=bhearsum * Bug 1303057 - docker-compose up should build ui (mozilla-releng#125). r=bhearsum * Add LICENSE. * Add IRC notifications to CI jobs. * Backout IRC notifications because they broke CI. * Bug 1112628: disallow deletion of releases that have a rule.mapping or rule.whitelist pointing at them (mozilla-releng#126). r=bhearsum * Version bump for 2.9 * bug 1270827: support substitution of %OS% in DesupportBlob urls (mozilla-releng#127). r=bhearsum * bug 1296685: Added an optional attribute "product" to all blob schemas (mozilla-releng#129). r=bhearsum * bug 1304101: Switch to 2.7-slim docker image. (mozilla-releng#128). r=jlorenzo * bug 1296685: remove dead attributes from apprelease blobs (mozilla-releng#130). r=bhearsum * Version bump for 2.10 * bug 1305980: Remove whitelist checks from desupport blobs. (mozilla-releng#133). r=vjoshi * Version bump for 2.10.1 * Bug 1284481: script to extract "active" data from balrog (mozilla-releng#132). r=bhearsum * Further reduce releases_history limit in active data extraction query; update sample data. * Revert sample data because of issues. * Use /bin/bash instead of run.sh as our ENTRYPOINT to workaround volume mount issues on Windows (mozilla-releng#136). r=bhearsum * Add .gitattributes file (mozilla-releng#134). r=bhearsum * bug 1284481: script to extract "active" data from balrog (mozilla-releng#139). r=bhearsum * Update sample data with a dump from production. * bug 1304101: Split Dockerfile into dev+prod version (mozilla-releng#131). r=rail,jlorenzo * Add a horrible hack to greatly reduce CPU usage of balrogui container. (mozilla-releng#140). r=jlorenzo,nthomas * Copy in requirements files early again (mozilla-releng#141). r=jlorenzo * bug 1170919: Raise value error of channel not in 'fileUrls' (mozilla-releng#138). r=bhearsum * bug 1304082: fix issues with change notifier in production (mozilla-releng#142). r=rail * Use volume mount when running tests in local dev, but not in Taskcluster. (mozilla-releng#147). r=jlorenzo * bug 1302838: Reinstated Sentry logging (mozilla-releng#144). r=bhearsum * Version bump for latest release. * Add run.sh to the prod container. * Reduce docker container from 776.9MB to 246.6MB (uncompressed) (mozilla-releng#153). r=bhearsum Each command in a Dockerfile creates a new layer. To keep the final docker image small build dependencies must be removed in the same Dockerfile command. Removing data in separate commands does not make the final image smaller. This commit uses the above technique for adding and building with pip+gcc and node+npm dependencies. It also adds a few extra cleanup commands for files in /root/cache/.pip, /root/.npm and /tmp/phantomjs. * Bug 1282898: allow multifile updates that point directly to blobs instead of product names (mozilla-releng#145). r=bhearsum * manage-db: Prevent using socket when connecting to localhost Mysql client fails when port forwarding is done between docker and host machine. It also allows port to defined in URI. * manage-db: Extract common default command * manage-db: Make port not required * Add extract command to run.sh (mozilla-releng#154). r=jlorenzo * Bug 1309660 - add support for backgroundInterval (mozilla-releng#158). r=bhearsum * Migrate balrog.submitter.api to balrogclient (mozilla-releng#159). r=bhearsum * Bug 1282891: support fallback mappings when background rate roll fails (mozilla-releng#160). r=bhearsum * bug 1311730: Gracefully handle missing addons section (mozilla-releng#162). r=rail * Bump version for next release. * bug 1301066: autocomplete release name by peeking into blob (mozilla-releng#152). r=bhearsum * bug 1311705: Add change notifier for scheduled rule changes (mozilla-releng#155) r=nthomas * bug 1282569: handle requests that don't substitute %PRODUCT%, et. al. (mozilla-releng#161). r=bhearsum * bug 1311763: Don't dump permissions or permissions history. (mozilla-releng#156). r=nthomas * Bug 1313732: add fallback mapping to scheduled changes ui (mozilla-releng#164). r=bhearsum * Version bump for next release. * Fix db creation when sample data doesn't match current schema version. (mozilla-releng#168). r=rail * Bump cache control to 90s. (mozilla-releng#170). r=mostlygeek * bug 1170797: "unhang" release upload screen if no file provided (mozilla-releng#163). r=bhearsum * bug 1312562: Don't raise exception when fileUrl can't be found for partial update (mozilla-releng#171). r=rail * Forward SMTP_TLS to balrogadmin to match other env vars * Separate changing values from unchanged in email notifications * Add support for conditions to getOrderedRules. * Support filtering by product when retrieving rules. * bug 1310218: create User Roles table and web APIs (mozilla-releng#167). r=nthomas,jlorenzo * bug 1310187: Move Scheduled Changes conditions to their own table (mozilla-releng#165). r=nthomas,jlorenzo * Version bump for next release. * Bug 1316929 - temporarily whitelist stage bucket to allow testing of … (mozilla-releng#176) * Bug 1316929 - temporarily whitelist stage bucket to allow testing of nightlies Tier-2. r=bhearsum, r=Callek * Backout stage bucket whitelisting from bug 1316929 (mozilla-releng#176) because it is no longer necessary. * bug 1315335: JSON parse errors should be exposed in New Release UI (mozilla-releng#177). r=bhearsum * bug 1315365: Add mysql-client so that mysqldump will be available. (mozilla-releng#179). r=mostlygeek * bug 1287593: Add create-db command to run.sh (mozilla-releng#180). r=bhearsum * bug 1310187: Make Scheduled Changes conditions configurable (mozilla-releng#151). r=jlorenzo,nthomas * bug 1279231: move balrog docs into the repo (mozilla-releng#166). r=bhearsum * Version bump * Add link to RTD (mozilla-releng#183). r=bhearsum * bug 1310209: Implement SignoffsTable and web apis for it. (mozilla-releng#181). r=nthomas,jlorenzo * bug 1170797: "unhang" release upload screen if no file provided (mozilla-releng#186). r=bhearsum * Link change (mozilla-releng#191). r=bhearsum * bug 1285975: product/channel filter not updated after adding/editting (mozilla-releng#188). r=bhearsum * bug 1310188: Use custom column types for JSON columns (mozilla-releng#184). r=nthomas,jlorenzo * bug 1301067: don't close modals without confirmation when clicking outside of them (mozilla-releng#193). r=bhearsum * bug 1282841: can't set background rate to 0 for new rules (mozilla-releng#189). r=bhearsum * Bug 1310213 - enable scheduled deletions (mozilla-releng#182). r=bhearsum * bug 1310220: Return empty list when user has no roles (mozilla-releng#195). r=bhearsum * Version bump for next release. * Build Docker Images in response to Release events. * Switch to create event for docker images. * bug 1308067 - Fixed 'DeprecationWarning: Required is going away in WTForms 3.0' warnings (mozilla-releng#197). r=bhearsum * bug 1315369: pull latest balrogdb from hosted location when rebuilding local db (mozilla-releng#192). r=bhearsum * bug 1281459: stop eating exceptions (mozilla-releng#194). r=bhearsum * bug 1310213: Correcting UI and backend for Delete Scheduled change update button (mozilla-releng#198). r=bhearsum * bug 1312560: handling unparsable versions as BadDataError (mozilla-releng#199). r=bhearsum * changing Required to InputRequired * bug 1325460: rule history ui broken by bug 1285975 (mozilla-releng#201). r=ninadbhat * Version bump for next release. * Turn off signal registration in Sentry to avoid submitting unwanted exceptions to Sentry. * Send 400 for BadDataError. (mozilla-releng#202). r=rail * Version bump for next release. (mozilla-releng#203). r=rail * Update active data extraction to include new Scheduled Changes tables. (mozilla-releng#204). r=rail * Bug 1313719 : History view for scheduled rules (mozilla-releng#207). r=bhearsum * Try new way of enabling release events. (mozilla-releng#209). r=rail,owlish * bug 1310188: Enable Scheduled Changes for Releases and Permissions (mozilla-releng#196). r=nthomas * Version bump for next release. (mozilla-releng#212). r=jlorenzo * Add initial version of contract tests (mozilla-releng#210). r=bhearsum * bug 1310210: Implement Required Signoffs tables (mozilla-releng#208). r=nthomas,jlorenzo * bug 1310220: UI for User Roles (mozilla-releng#206). r=bhearsum * bug 1310217: Make Agent Aware of Release and Permissions Scheduled Changes (mozilla-releng#214). r=bhearsum * bug 1310214: UI for scheduled changes of Releases (mozilla-releng#205). r=bhearsum * Update docs with new bug links. (mozilla-releng#216) r=jlorenzo * Improve text on button for creating new objects with a Scheduled Change. (mozilla-releng#220). r=mtabara * Configure logging before using it in public.wsgi (mozilla-releng#219) r=bhearsum * Bug 1308625 - improve active data extraction script to grab referenced partials (mozilla-releng#211). r=bhearsum * Bug 1308625 : Adding extra arguments to skip dropping and recreating the table again (mozilla-releng#221). r=bhearsum * Backout bug 1308625 for now, because it's not working well enough yet. (mozilla-releng#222) * bug 1326074 - Make destrucive buttons more visible (mozilla-releng#224). r=bhearsum * Bug 1308625 : Preventing same release row data from getting inserted twice in the sql dump file (mozilla-releng#226). r=bhearsum * bug 1332829: Improve some security related headers on public app (mozilla-releng#228). r=jlorenzo,april * bug 1321036: verify column attributes (mozilla-releng#215). r=bhearsum * Bug 1257298 - support a list of values in rules' version field (mozilla-releng#217). r=bhearsum * Bump version for next release. (mozilla-releng#231) * Fixed error with multiple changes at one endpoint (mozilla-releng#234). r=bhearsum * bug 1310214: Ui for scheduled permission (mozilla-releng#225). r=bhearsum * Bug 1333095 - reset signoffs when a scheduled change is updated (mozilla-releng#229). r=bhearsum * Bug 1324799 - Able to set priority to 0 for new rules (mozilla-releng#235). r=bhearsum * Bug 1304375 - no error in UI when release cannot be deleted (mozilla-releng#213). r=bhearsum,aksareen * Bug 1257298 : Altering rules.version field's length from 10 to 75 (mozilla-releng#233). r=bhearsum * bug 1302164: add contribute.json (mozilla-releng#237). r=bhearsum * Bug 1333875 - don't update "scheduled_by" field when merging in update of base table (mozilla-releng#238). r=bhearsum,aksareen * Bug 1337353: Set HSTS header in balrog responses (mozilla-releng#240). r=bhearsum * Version bump for next release. (mozilla-releng#241). r=jlorenzo * bug 1301040: persist drop down filter state on Rules page (mozilla-releng#239). r=bhearsum,aksareen * Moar docs for rule resolution (mozilla-releng#242). r=bhearsum * Bug 1337642 - fallbackMapping sidesteps checks on version and buildID increasing (mozilla-releng#243). r=bhearsum * Version bump to pick up fix for fallback mappings. (mozilla-releng#244) * Bug 1325441 - don't allow completed scheduled changes to be modified (mozilla-releng#236). r=bhearsum * Bug 1310228 - record Signoffs when a change is scheduled if a User holds a Required Role (mozilla-releng#246). r=bhearsum * Bump Sphinx version to fix docs. (mozilla-releng#247). r=jlorenzo * Pin Sphinx in requirements.txt (mozilla-releng#248). r=jlorenzo * Bug 1278539 - refactory history api backend code (mozilla-releng#230). r=bhearsum * Update .taskcluster.yml with new settings. (mozilla-releng#251). r=rail * Add SeaMonkey to domain whitelists (mozilla-releng#250). r=bhearsum * Bug 1333874: mergeUpdate is broken when a base table row updates a value to the same value in the scheduled change (mozilla-releng#245). r=bhearsum * Version bump for next release. (mozilla-releng#254). r=rail * Bug 1333876 - scheduled change history sometimes fails to load because of IndexError (mozilla-releng#255). r=bhearsum * Web APIs for Required Signoffs (mozilla-releng#218). r=nthomas,jlorenzo * Version bump. (mozilla-releng#258). r=nthomas * Bug 1304555:Remove Product/Channel filter from Rules history pages (mozilla-releng#259). r=bhearsum,ninadbhat * Bug 1301051:number fields sometimes steal scroll events, causing unwanted changes to their values (mozilla-releng#260). r=bhearsum,ninadbhat * Bug 1310303 - teach the Balrog agent how to determine whether or not scheduled changes meet signoff requirements (mozilla-releng#252). r=bhearsum * Bug 1310217 - teach the Balrog Agent how to look for and enact Required Signoffs (mozilla-releng#261). r=bhearsum * bug 1304561: move "view data" button next to other Release buttons (mozilla-releng#262). r=bhearsum * Update : Best Practices Section in Balrog Docs (mozilla-releng#265) * bug 1342531: required signoffs are not accurate in scheduled changes in some cases (mozilla-releng#266). r=nthomas,jlorenzo * bug 1310226: UI for Required Signoffs management (mozilla-releng#253). r=jlorenzo * Fix drop down after regression in mozilla-releng#259. (mozilla-releng#269). r=jlorenzo * Bug 1257298 : updating docs (mozilla-releng#271). r=bhearsum * Bug 1332000 - test that downgrades actually work (mozilla-releng#263). r=bhearsum * Bug 1329525: Ungrouping of emails (mozilla-releng#256). r=bhearsum * Don't run any tests on pull_request.assigned. (mozilla-releng#270). r=rail * bug 1343255: Navbar Menu doesn't work after collapsing for smaller screens in Admin Window (mozilla-releng#272). r=bhearsum * Fixing Bug:1136164. Case insensitive interpolation of apprelease blobs. (mozilla-releng#273). r=bhearsum,rail * Version bump for next release. (mozilla-releng#275). r=rail * Bug 1334133. Possible fix for correct validation of vendors and addons in the GMP and SystemAddons blobs. r=bhearsum,aksareen (mozilla-releng#257) * bug 1310227: UI for signing off on Scheduled Changes for Rules, Releases, and Permissions (mozilla-releng#268). r=jlorenzo * Version bump for latest release. (mozilla-releng#279). r=rail * Bug 1331992: Update the requirement files with working hash values and add dependencies. (mozilla-releng#277) r=bhearsum * Bug: 1287536. Returning the exceptions from __heartbeat with 502 and a message. r=bhearsum. (mozilla-releng#274). * Bug 1333571 - Implemented dynamic titles by adding a new service to set the page title (mozilla-releng#278). r=bhearsum * Adding connexion and its dependencies (mozilla-releng#281). r=bhearsum * Add a docker tag for git commit (mozilla-releng#283). r=bhearsum * Remove support for revision in SystemAddon superblobs. (mozilla-releng#285). r=jlorenzo * Version bump for next release. (mozilla-releng#289) * Remove update/delete button on completed scheduled changes for the UI (mozilla-releng#292). r=bhearsum,njirap * Bug 1350970: Disable non-error output from docker containers in local development (mozilla-releng#290). r=bhearsum,njirap * Add support for creating rule scheduled changes (mozilla-releng#288). r=sfraser * Bug 1304026: Make the order of enacting changes predictable (mozilla-releng#291). r=bhearsum,njirap * Updating Connexion to 1.1.6 (mozilla-releng#294). r=bhearsum * Bug 1261061: Stop using the "dbo" wrapper in db.py (mozilla-releng#295). r=bhearsum,ninad,njirap * bug 1342331: Disable role granting for users without permissions (mozilla-releng#296). r=bhearsum,njirap * Bug 1344716: Add health checks to Docker-compose file (mozilla-releng#297). r=bhearsum * Bug 1312499 - figure out how to match multiple substrings in one rule field (mozilla-releng#280). r=bhearsum * Version bump for next release. (mozilla-releng#299) * Backout bug 1304026 due to bustage. (mozilla-releng#300) * Updating connexion to 1.1.9 (mozilla-releng#298). r=bhearsum * Bug 1354130: Stop exporting scheduled changes in the production dump. (mozilla-releng#302). r=bhearsum * Bug 1326046: Move dependencies from tox.ini into requirements-test.txt (mozilla-releng#303). r=bhearsum * Bug 1342241: Handle errors when adding a new user better (mozilla-releng#306). r=bhearsum * Bug 1281520: Rip Whitelist Support (mozilla-releng#305). r=bhearsum * Bug 1334188: show "scheduled by" field in UI when making scheduled changes. (mozilla-releng#307). r=bhearsum * Install netcat in dev Dockerfile to fix healthchecks. (mozilla-releng#309). r=rail * bug 1325377: restructure web layers and convert public app to swagger (mozilla-releng#276). r=bhearsum * Version bump for next release. (mozilla-releng#311) * Backout conversion of public app to swagger because of increased error rate (mozilla-releng#313). r=rail * bug 1325377 - reorg of web code and swaggerification of existing public endpoints (mozilla-releng#314). r=bhearsum * Version bump (mozilla-releng#315) * Preemptively bump to next release version. (mozilla-releng#316). r=rail * Bug 1336452 : Migrating /rules , /users and /csrf_token to connexion app (mozilla-releng#312). r=bhearsum * Bug 1355474: Add a "view data" button for releases scheduled changes (mozilla-releng#304). r=bhearsum * Bump balrogclient version. (mozilla-releng#318) * bug 1276289: reenable coveralls (mozilla-releng#310). r=bhearsum * Devedition changes (mozilla-releng#319) * Add staging domain when running in staging * Add Devedition product * Version bump for next release. (mozilla-releng#322) * bug 1363058: don't send empty strings for null values when a field's value is removed (mozilla-releng#321). r=bhearsum * Bug 1336452: migrate all remaining Rules and Users APIs (mozilla-releng#317). r=bhearsum * bug 1346212: Cannot revert a rule change (mozilla-releng#324). r=bhearsum * Bump to next version before next release. (mozilla-releng#326) * bug 1369078: Stop sending data_version and rule_id when duplicating rules (mozilla-releng#328). r=bhearsum * Version bump after release. (mozilla-releng#329) * Backout patch that broke /rules/:rule API. (mozilla-releng#331) * bug 1138418: Adds sanity check for hashLength for gmp blob type (mozilla-releng#325). r=bhearsum * Update the client to send data over the wire as JSON. (mozilla-releng#332). r=sfraser * bug 1304026: Implements change enact order predictable (mozilla-releng#335). r=bhearsum * Always treat data_version as an int (mozilla-releng#337) r=sfraser * Bug 1336452: migrate all remaining Rules and Users APIs (mozilla-releng#317). r=bhearsum * bug 1355057: balrog throws ISE 500 instead of 400 when duplicate alias name is present when posting a new Rule. (mozilla-releng#330). r=bhearsum * Bug 1336452 : Specific users view + Release History Diffs & View API migration (mozilla-releng#323). r=bhearsum * Bug 1336452 - Release APIs Migration (mozilla-releng#336). r=bhearsum * bug 1353241: 'View diff' for first revision doesn't work (mozilla-releng#334). r=bhearsum * Explicity Typecasting all 'data_version' query arguments into integer (mozilla-releng#339). r=bhearsum * Version bump ahead of next release. (mozilla-releng#341) * Don't define enums for permission actions. (mozilla-releng#344). r=rail * bug 1375670: Use full version of current rule when looking up required signoffs for updates (mozilla-releng#343). r=rail * Bug 1336452: convert Required Signoffs APIs to swagger (mozilla-releng#342). r=bhearsum * bug 1325377: Public API for Rules & Releases (mozilla-releng#320). r=bhearsum,sfraser,aksareen * Abstracting count field to a model (mozilla-releng#345). r=bhearsum * bug 1276289: reenable coveralls (mozilla-releng#327). r=bhearsum * Bump version before next release. * Version bump ahead of next release. * Add support for "memory" to the update ping (mozilla-releng#346). r=nthomas * Imlemented cliqz related changes to balrog
No description provided.