Sync GitHub App installations from GitHub into the database.
curl --request POST \
--url https://api.example.com/api/v0/companies/{company_id}/github/installations/syncimport requests
url = "https://api.example.com/api/v0/companies/{company_id}/github/installations/sync"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.example.com/api/v0/companies/{company_id}/github/installations/sync', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v0/companies/{company_id}/github/installations/sync",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v0/companies/{company_id}/github/installations/sync"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v0/companies/{company_id}/github/installations/sync")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v0/companies/{company_id}/github/installations/sync")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"installations": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isOrganization": true,
"createdBy": {
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"username": "<string>",
"avatar": "<string>",
"disabledAt": "2023-11-07T05:31:56Z"
},
"createdAt": "2023-11-07T05:31:56Z",
"installationId": 123,
"accountName": "<string>",
"avatarUrl": "<string>",
"htmlUrl": "<string>",
"disabledAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}
]
}{
"msg": "<string>"
}{
"msg": "<string>"
}{
"msg": "<string>"
}{
"msg": "<string>"
}Companies
Sync GitHub App installations from GitHub into the database.
Discovers real GitHub App installations via the App JWT and registers any that are missing from the database for this company.
Access control rules
- Company member of the company.
- Admins can manage all companies. Requires
manage_companiespermissions.
POST
/
api
/
v0
/
companies
/
{company_id}
/
github
/
installations
/
sync
Sync GitHub App installations from GitHub into the database.
curl --request POST \
--url https://api.example.com/api/v0/companies/{company_id}/github/installations/syncimport requests
url = "https://api.example.com/api/v0/companies/{company_id}/github/installations/sync"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.example.com/api/v0/companies/{company_id}/github/installations/sync', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v0/companies/{company_id}/github/installations/sync",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v0/companies/{company_id}/github/installations/sync"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v0/companies/{company_id}/github/installations/sync")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v0/companies/{company_id}/github/installations/sync")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"installations": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isOrganization": true,
"createdBy": {
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"username": "<string>",
"avatar": "<string>",
"disabledAt": "2023-11-07T05:31:56Z"
},
"createdAt": "2023-11-07T05:31:56Z",
"installationId": 123,
"accountName": "<string>",
"avatarUrl": "<string>",
"htmlUrl": "<string>",
"disabledAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z"
}
]
}{
"msg": "<string>"
}{
"msg": "<string>"
}{
"msg": "<string>"
}{
"msg": "<string>"
}Delete a pending GitHub installation record.Endpoint to list the GitHub repositories the Cantina App has access to for a given account.
⌘I