Restart build

2 minute read

POST /organizations/{organization_uuid}/projects/{project_uuid}/builds/{uuid}/restart

To mimic restarting a build in the web console, call this endpoint with an empty request and the build will be scheduled to run again.

For Basic projects, this will result in a new build_run (which will be visible when you request the build details again), but for Pro it will result in a brand new build. To get the new build UUID for a Pro project, get the list of builds for the project again. The new build will be in that list.

Restart requests are ignored for builds that are already running. Since this endpoint will just queue a new request, and not actually restart the build, you will still get a successful response even if the build is already running.

Authentication

  • OAuth2

OAuth2 scopes

  • build.write

Path parameters

Field nameTypeRequired

organization_uuid

string

X

project_uuid

string

X

uuid

string

X

Headers

Field nameTypeRequired

Authorization

string

X

Responses

CodeDatatype

202

No response body

400

Error

401

Error

403

Error

404

Error

500

Error

Code examples

cURL
Go
Java
Node
PHP
Python
Ruby
C#
curl --request POST \
  --url https://api.codeship.com/v2/organizations/721cea10-b6a5-0104-5b93-5240c481c5a2/projects/019f9bcc-ce4b-4179-a533-c3995f4b6161/builds/20b4a690-6a03-0135-d6ec-000000000000/restart \
  --header 'authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9' \
  --data '{}'
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://api.codeship.com/v2/organizations/721cea10-b6a5-0104-5b93-5240c481c5a2/projects/019f9bcc-ce4b-4179-a533-c3995f4b6161/builds/20b4a690-6a03-0135-d6ec-000000000000/restart"

	payload := strings.NewReader("{}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("authorization", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/octet-stream");
RequestBody body = RequestBody.create(mediaType, "{}");
Request request = new Request.Builder()
  .url("https://api.codeship.com/v2/organizations/721cea10-b6a5-0104-5b93-5240c481c5a2/projects/019f9bcc-ce4b-4179-a533-c3995f4b6161/builds/20b4a690-6a03-0135-d6ec-000000000000/restart")
  .post(body)
  .addHeader("authorization", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9")
  .build();

Response response = client.newCall(request).execute();
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.codeship.com",
  "port": null,
  "path": "/v2/organizations/721cea10-b6a5-0104-5b93-5240c481c5a2/projects/019f9bcc-ce4b-4179-a533-c3995f4b6161/builds/20b4a690-6a03-0135-d6ec-000000000000/restart",
  "headers": {
    "authorization": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write("{}");
req.end();
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.codeship.com/v2/organizations/721cea10-b6a5-0104-5b93-5240c481c5a2/projects/019f9bcc-ce4b-4179-a533-c3995f4b6161/builds/20b4a690-6a03-0135-d6ec-000000000000/restart",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{}",
  CURLOPT_HTTPHEADER => array(
    "authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
import http.client

conn = http.client.HTTPSConnection("api.codeship.com")

payload = "{}"

headers = { 'authorization': "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9" }

conn.request("POST", "/v2/organizations/721cea10-b6a5-0104-5b93-5240c481c5a2/projects/019f9bcc-ce4b-4179-a533-c3995f4b6161/builds/20b4a690-6a03-0135-d6ec-000000000000/restart", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
require 'uri'
require 'net/http'

url = URI("https://api.codeship.com/v2/organizations/721cea10-b6a5-0104-5b93-5240c481c5a2/projects/019f9bcc-ce4b-4179-a533-c3995f4b6161/builds/20b4a690-6a03-0135-d6ec-000000000000/restart")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["authorization"] = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9'
request.body = "{}"

response = http.request(request)
puts response.read_body
var client = new RestClient("https://api.codeship.com/v2/organizations/721cea10-b6a5-0104-5b93-5240c481c5a2/projects/019f9bcc-ce4b-4179-a533-c3995f4b6161/builds/20b4a690-6a03-0135-d6ec-000000000000/restart");
var request = new RestRequest(Method.POST);
request.AddHeader("authorization", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9");
request.AddParameter("undefined", "{}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);