This is a placeholder page that shows you how to use this template site.
This section is where the user documentation for your project lives - all the information your users need to understand and successfully use your project.
This is the multi-page printable view of this section. Click here to print.
This is a placeholder page that shows you how to use this template site.
This section is where the user documentation for your project lives - all the information your users need to understand and successfully use your project.
Contains key-types for authentication, such as oauth-authentication
Editing a secret oAuth Key (Password Grant).
Introduces Cql Requests to Milkman using cassandra datastax driver.
This plugin requires milkman-jdbc
plugin
After placing the jar into \plugin
folder, you also have to place the driver-jars you want to use in that folder as well.
The used url is of following format:
cql://host[/keyspace]?dc=...[&username=...&password=...]
supported parameters
name | description |
---|---|
dc | datacenter, required. for local installations, this should be ‘datacenter1’ |
username | username, optional |
password | password, optional |
Editing a secret oAuth Key (Password Grant).
This is an experimental interactive command line interface for plugin. After copying the content of the archive to the root directory of milkman,
you can start it by mm
on terminal.
nano
less
mm
) or non-interactive mode (by executing commands via mm [command]
)-
. E.g. Your Workspace
becomes your-workspace
*Command | Alias | Description | Arguments |
---|---|---|---|
change-workspace | ws | Switches currently activated workspace | workspace the id of the workspace to switch to |
change-collection | col | Switches currently activated collection | collection the id of the collection to switch to |
execute-request | req | Executes a given request | requestish 1 the id of the request to execute-l , --less outputs response into less-v , --verbose outputs all aspects |
edit-request | e | Edits an aspect of a request | requestish 1 the id of the request to executeaspect the aspect to edit |
quit | q | Quits Application |
1A requestish is [[Workspace-Id/]Collection-Id/]Request-Id (i.e. the first two are optional)
Extends Milkman-rest with an additional response-tab that allows for application/json responses to be explored using JMesPath.
Example of the explore plugin
Allows to craft GraphQL requests.
Example of the GraphQl plugin
Grpc Plugin for communication with Grpc Servers.
Example of the Grpc plugin
To send multiple messages, just add multiple json objects to the payload, divided by two new lines.
Introduces Http request capabilities to milkman. Consists of serveral features that together should make milkman be usable as postman-replacement for day-to-day work.
Example of the Rest plugin
This is a very simple plugin that adds a tab to each request where users can enter some notes about the request.
This plugin serves demonstrational purposes and should show how milkman can be extended.
Example of the Notes plugin
Allows to share requests etc via Privatebin.
Example of the Privatebin plugin
provides scripting capabilities via nashorn
javascript engine (graal.js
supported but disabled because it is too big in size).
js:
prefix
Authorization: Basic {{js:base64("username:password")}}
var url = JSON.parse(milkman.response.body.body).url
milkman.setEnvironmentVariable("test.url", url)
example of pre-script:
var headerVal = milkman.request.headers.entries[0].value
milkman.toast(headerVal)
example of chai script (if you include chai in preload scripts):
chai.should();
var body = JSON.parse(mm.response.body.body)
body.should.have.lengthOf(200);
Example of the Scripting plugin
Preferences:
Example of the Scripting plugin
milkman
(aliased to mm
) is the only object available. It provides following properties:
request
: an accessor for request-aspects. Every property of this request-object tries to fetch an according aspect. E.g. request.body
would be the body-aspect of the request-container. (Thats why you have to write request.body.body
, because the body-aspect stores its content in the body
variable as well. Might be streamlined in the future)response
: an accessor for response-aspects. Every property of this response-object tries to fetch an according aspect. E.g. response.body
would be the body-aspect of the response-container. (Thats why you have to write response.body.body
, because the body-aspect stores its content in the body
variable as well. Might be streamlined in the future)setEnvironmentVariable(String, String)
sets an environment variable in the currently active environment (if there is any activated).toast(String)
shows a toast at the bottom of the windowconsole
works as usual as well
besides that, some often used functions are available:
base64(string)
, sha1(string)
, sha256(string)
, sha512(string)
Support for Socket.IO transport
Example of the Socket.IO plugin
Introduces Sql Requests to Milkman using JDBC.
After placing the jar into \plugin
folder, you also have to place the driver-jars you want to use in that folder as well.
Example of the Sql plugin
Support for Socket.IO transport
This plugin allows to setup a git repository to where a workspace can be synchronized. Synchronization works by computing the diffs and applying them in a fuzzy manner to the latest version (simple algorithm of Differential Synchronization).
Example of the Scripting plugin
a testrunner plugin that allows to execute multiple requests in a sequence and verify their results.
Just Drag-and-drop requests you want to execute into the test-tab and you are ready to go.
On execution, a separate environment only for this test-run will be created, so
everything written to the current environment. For differentiation in scripts, a __TEST__ = true
variable is also
added to the current environment.
Example test that is only executed on test-runs:
if (mm.getEnvironmentVariable("__TEST__")){
chai.should();
var json = JSON.parse(mm.response.body.body)
json.should.have.property('name').that.is.equal("Leanne Graham")
}
This plugin is still in early development, so it might not seem to contain a lot of features. They will be added on-the-go when the need / issue arises.
Support for websocket transport