twilio / twilio-cli

Unleash the power of Twilio from your command prompt
MIT License
162 stars 79 forks source link

Feature suggestion: Make chaining a first-class citizen in the CLI #256

Open dkundel opened 3 years ago

dkundel commented 3 years ago

Problem

Right now if you want to chain Twilio CLI commands you'll have to do two things:

  1. You'll have to define your output type into something parseable, for example -o json
  2. Parse the output, for example with jq
  3. Use the parsed output in your new twilio command.

This either requires additional tools in the case of jq or more extreme knowledge of built-in scripting utilities.

Proposed Solution

Make chaining of Twilio commands a first-class citizen of the Twilio CLI through piping.

If a command output gets piped into another Twilio command you'll automatically have access to the output if you prefix it by a . (similar to jq).

For example:

twilio api:serverless:v1:services:list | twilio api:serverless:v1:environments:list --sid ".[0].sid" --properties 

This would list all environments for the first serverless service it finds since it .[0].sid would access the first entry of the list returned by the first command accesses the sid property.

I don't think it would need to support any complex mechanisms (at least at first) as those could still be relegated to actual parsing tools such as jq. But this would allow both content creators as well as users to create basic scripts without requiring the installation of additional tools or navigating multiple screens through the Twilio UI.

Sindhura3 commented 3 years ago

@dkundel Thank you for suggesting this; we've added it to our list. Pull requests and +1s on the feature suggestion will help it move up the backlog.