diff --git a/swh/deposit/api/private/deposit_update_status.py b/swh/deposit/api/private/deposit_update_status.py --- a/swh/deposit/api/private/deposit_update_status.py +++ b/swh/deposit/api/private/deposit_update_status.py @@ -112,4 +112,7 @@ else: # rejected deposit.status = status + if "status_detail" in data: + deposit.status_detail = data["status_detail"] + deposit.save() diff --git a/swh/deposit/client.py b/swh/deposit/client.py --- a/swh/deposit/client.py +++ b/swh/deposit/client.py @@ -212,6 +212,7 @@ self, update_status_url, status, + status_detail=None, revision_id=None, directory_id=None, origin_url=None, @@ -233,6 +234,8 @@ payload["directory_id"] = directory_id if origin_url: payload["origin_url"] = origin_url + if status_detail: + payload["status_detail"] = status_detail self.do("put", update_status_url, json=payload) diff --git a/swh/deposit/tests/loader/test_client.py b/swh/deposit/tests/loader/test_client.py --- a/swh/deposit/tests/loader/test_client.py +++ b/swh/deposit/tests/loader/test_client.py @@ -213,7 +213,10 @@ deposit_client = PrivateApiDepositClient(config=CLIENT_TEST_CONFIG) deposit_client.status_update( - "/update/status", DEPOSIT_STATUS_LOAD_SUCCESS, revision_id="some-revision-id", + "/update/status", + DEPOSIT_STATUS_LOAD_SUCCESS, + revision_id="some-revision-id", + status_detail="foo bar", ) mocked_put.assert_called_once_with( @@ -221,6 +224,7 @@ "https://nowhere.org/update/status", json={ "status": DEPOSIT_STATUS_LOAD_SUCCESS, + "status_detail": "foo bar", "revision_id": "some-revision-id", }, )