On Wed, 2018-10-10 at 18:33 +1100, Stewart Smith wrote: > Markus Mayer <mma...@broadcom.com> writes: > > I am working on a script that will, amongst other things, update the > > state ("Accepted", "Rejected", etc.) of patches in our own Patchwork > > installation. The script is using the REST API. All requests in the > > script, so far, are GET requests. They work fine. > > > > Now, I want to issue a PUT request to update the patch state, also > > using the REST API. However, no matter what I try, the request gets > > rejected by the server. > > I think you want the PATCH request rather than PUT? > > https://github.com/stewart-ibm/pwnm-sync is my script I use to update > patch status (from notmuch mail tags) and that seems to be the request > type that works for me (with patchwork.ozlabs.org)
Yeah, you want PATCH. PUT requires an entirely new object (like POST) which is used to overwrite the existing object. PATCH just needs the updated fields. The examples used in 'git-pw' does just this [1][2][3] (though I realize the function is confusing called 'put' - will update). Stephen PS: As an aside, there's a rather good article [4] on all things POST/PUT...which we (well, Django REST Framework) do the exact opposite of :) Worth a read though [1] https://github.com/getpatchwork/git-pw/blob/1.4.0/git_pw/patch.py#L175 [2] https://github.com/getpatchwork/git-pw/blob/1.4.0/git_pw/api.py#L273 [3] https://github.com/getpatchwork/git-pw/blob/1.4.0/git_pw/api.py#L156-L170 [4] https://williamdurand.fr/2014/02/14/please-do-not-patch-like-an-idiot/ _______________________________________________ Patchwork mailing list Patchwork@lists.ozlabs.org https://lists.ozlabs.org/listinfo/patchwork