Manifest.edit column transaction type "powerful form" fails validation

The maniphest.edit documentation discusses 3 different possible values for the transaction.

  1. A string 2) List of strings 3) List of objects
    Although documented the 3rd option always seems to fail validation with an error.
result	
error_code	
ERR-CONDUIT-CORE
error_info	
Exception when processing transaction of type "column": Error while reading "value[0]": Expected string, got something else.

Seemingly the object case is not accounted for in validation.

Reproduction Instructions

This is reproducible on https://secure.phabricator.com/api/maniphest.edit
(Though it was originally found on https://phabricator.wikimedia.org/api/maniphest.edit)

For secure.phabricator.com the required payload would be:

Method	
maniphest.edit
transactions	
{
  "0": {
    "type": "column",
    "value": [
      {
        "columnPHID": "PHID-PCOL-yyr6xtidns25wxhvr5b2",
        "beforePHIDs": [
          "PHID-TASK-ow67bv7kz6wszzzjhd6i"
        ]
      }
    ]
  }
}
objectIdentifier	
PHID-TASK-tzephi2tmeqk3c2aoo3l

OR as curl

curl https://secure.phabricator.com/api/maniphest.edit \
    -d api.token=api-token \
    -d transactions[0][type]=column \
    -d transactions[0][value][0][columnPHID]=PHID-PCOL-yyr6xtidns25wxhvr5b2 \
    -d transactions[0][value][0][beforePHIDs][0]=PHID-TASK-ow67bv7kz6wszzzjhd6i \
    -d objectIdentifier=PHID-TASK-tzephi2tmeqk3c2aoo3l

This should result in an error.

Phabricator/Arcanist Version
Both instances have their “Config” page locked down which is the suggested route to find the version, thus I can’t report the version here, but I’m sure someone knows / can aid.

Why do you expect the key beforePHID2 to be meaningful? That is, where in the documentation does it show that beforePHID2 does something?

Sorry that was a typo in the reproduction case while I was making sure that the deeper value was not what was failing the validation somehow.
Fixed the post to remove the 2 and can confirm the error still happens in this case for me but on secure.phabricator.com and phabricator.wikimedia.org

Okay – why do you expect the key beforePHID to be meaningful? I don’t see that key in the documentation either.

Bah, okay I removed the 2 typo but didn’t re add the s.
I’ll edit the main post again, but the error still stands.

I am reading the documentation on ⇵ maniphest.edit
Specifically the 3rd example under Transaction Type: column
Which is

[
  {
    "columnPHID": "PHID-PCOL-4444",
    "beforePHIDs": ["PHID-TASK-5555"]
  }
]

Thanks, I filed this upstream as https://secure.phabricator.com/T13651.

1 Like