HTTP/S Connector
What is the HTTP/S Connector?
A connector in PIPEFORCE is one or more commands allowing you to connect to external systems and exchange data with them.
The HTTP/S Connector allows to connect to such external systems using the HTTP/S protocol. For example if you would like to make RESTful calls.
Typically such endpoints are secured with username and password or a token. You should never place such sensitive data into your source code. Instead, create a new Secrets and refer to it in your pipeline.
Here is an example to access the GitHub API using the command http.get
and a custom secret, created before:
pipeline:
- http.get:
url: "https://api.github.com/owner/repo/actions/artifacts"
secret: "github-secret"
This will return a JSON document like this example, which can be used in the pipeline for further processing:
{
"total_count": 1,
"artifacts": [
{
"id": 11,
"node_id": "MDg6QXJ0bbZhY3QxMQ==",
"name": "Rails",
"size_in_bytes": 556,
"url": "https://api.github.com/repos/owner/repo/actions/artifacts/11",
"archive_download_url": "https://api.github.com/repos/owner/repo/actions/artifacts/11/zip",
"expired": false,
"created_at": "2022-01-10T14:59:22Z",
"expires_at": "2022-03-21T14:59:22Z",
"updated_at": "2022-02-21T14:59:22Z",
"workflow_run": {
"id": 2332928,
"repository_id": 1296569,
"head_repository_id": 1296219,
"head_branch": "main",
"head_sha": "328faa0536e6fef19903d9d91dc96a9931694ce3"
}
}
]
}
Also see these connector commands:
HTTP Body
In order to set the body for an HTTP request, you can use the body
parameter:
pipeline:
- http.post:
url: http://hostname/path
body: "This is the HTTP body of the POST request"
You can also “link” to the body of the pipeline and use this for the POST body:
If no body
parameter is set. Then the value from the input
parameter will be used as body. If this is also null, not body will be set at all.
HTTP Headers
You can set HTTP headers using the headers
parameter. It expects the headers as name-value pairs.
Example: