Page MenuHomePhabricator

Create bot for adding WMSE's projects
Closed, ResolvedPublic


Name: WMSE-project-start-bot
Purpose: Add WMSE's projects at start of year. These have been added manually so far, but we are going to automate the process of setting up projects (on both Phabricator and our wiki) from next year, if all goes to plan. The bot code can be found at
An email address (which can be invalid but must be unique):
Responsible user or organization: WMSE

Event Timeline

Could one of the admins please take a look at this? We'd like to use the bot within the next few weeks to create the projects for 2019.

@Sebastian_Berlin-WMSE: Hi, sorry, was on vacation... The email address must be unique, and the one above is already used by another Phab account.

I see, but it doesn't have to be an email address that actually goes somewhere, is that what "invalid" means? In that case, please make it

Created @WMSE-project-start-bot. Please see P8126. Please resolve this task once it works as expected. Thanks!

I can't get the test on to work. I set "user" to "WMSE-project-start-bot" and "cert" to the content of P8126. Did I miss something?

Ok, I'll keep digging. Here's the error log, by the way:

$ arc tasks --unassigned --limit 1 --arcrc-file bot.arcrc --trace
 ARGV  '/usr/share/arcanist/bin/../scripts/arcanist.php' 'tasks' '--unassigned' '--limit' '1' '--arcrc-file' 'bot.arcrc' '--trace'
 LOAD  Loaded "phutil" from "/usr/share/libphutil/src".
 LOAD  Loaded "arcanist" from "/usr/share/arcanist/src".
Config: Reading user configuration file "bot.arcrc"...
Config: Did not find system configuration at "/etc/arcconfig".
Working Copy: No candidate locations for .arcconfig from this working directory.
Working Copy: Path "/tmp/phab" is not in any working copy.
>>> [0] <conduit> conduit.connect() <bytes = 509>
>>> [1] <http>
<<< [1] <http> 496,572 us
<<< [0] <conduit> 496,923 us

[2019-02-26 06:41:44] EXCEPTION: (ConduitClientException) ERR-INVALID-CERTIFICATE: Your authentication certificate for this server is invalid. at [<phutil>/src/conduit/ConduitFuture.php:58]
arcanist(), phutil()
  #0 ConduitFuture::didReceiveResult(array) called at [<phutil>/src/future/FutureProxy.php:58]
  #1 FutureProxy::getResult() called at [<phutil>/src/future/FutureProxy.php:35]
  #2 FutureProxy::resolve() called at [<phutil>/src/conduit/ConduitClient.php:58]
  #3 ConduitClient::callMethodSynchronous(string, array) called at [<arcanist>/src/workflow/ArcanistWorkflow.php:369]
  #4 ArcanistWorkflow::authenticateConduit() called at [<arcanist>/scripts/arcanist.php:354]

Hmm, I wonder if the "cert" stuff in the docs is outdated (but I'm rather clueless). Could you please give this in .arcrc a try:

"hosts"  : {
     "https:\/\/\/api\/" : {
      "token": "api-token_which_starts_with_api"
Sebastian_Berlin-WMSE claimed this task.
Sebastian_Berlin-WMSE moved this task from Watchin' to Done on the User-Sebastian_Berlin-WMSE board.

Yes, that fixed it. Thanks!