Page MenuHomePhabricator

Create herald.queryrules conduit API method
Closed, WontfixPublic

Description

Implement herald.queryrules Conduit API method. Method would allow user perform a search on Herald rules.

Revisions and Commits

Event Timeline

Pawka claimed this task.
Pawka raised the priority of this task from to Normal.
Pawka updated the task description. (Show Details)
Pawka added projects: Herald, Conduit.
Pawka added a subscriber: Pawka.
Pawka added a revision: Restricted Differential Revision.Mar 24 2015, 9:32 AM

Can you walk me through your use case in more detail? We've never seen interest in this, and I can't come up with reasons why this would be useful offhand.

Sure.

We trying to automate Harbormaster + Herald setup for new repositories in our company (have plans to provide Harbormaster API methods soon). This method is required to check if specific rules are not created yet.

Providing 1 for needConditionsAndActions and few additional parameters gives us pretty useful subset.

What kind of rules are you duplicating across repositories? Why can't these rules be expressed as a single rule which affects all the repositories?

Each rule has different parameters in steps. In our case it is different HTTP Request URL.

You can parameterize the URL, in a build step, e.g.:

http://buildserver.com/?repository=${repository.callsign}

Is that not sufficient? How do the URLs vary?

We are providing different tokens for each URL.
And this parameter is not stored on Phabricator :-(

Can you make a single call to some kind of middleware which looks up the token based on the callsign or ID, then submits the request to the build server?

We could also add a custom field support for the token to Repositories, although this is probably some ways away.

Or we could make the build variables extensible, so ${repository.customtoken} would work.

Copying plans and Herald rules for each repository feels sketchy to me. I'm not interested in bringing herald.queryrules or similar upstream until there's a good use case for it (and/or we complete T5873), and this doesn't feel very good to me.

I see your point and sounds fair for me.