레퍼런스HTTP APIWorkspace settings

Which App connection a repository uses per role, and the choices (owner or admin)

GET
/v1/workspaces/{id}/github-repositories/{repositoryId}/app-pins

pins names the connection each role's work on the repository uses (null: none yet, or the pinned one was removed, which the gate then refuses as pinned_app_removed). candidates lists every connection with installed: whether an installation of its App covers the repository now (null when GitHub did not answer). API keys are refused.

Auth: cookie session only; no scope.

Authorization

cookieSession
cookie__Host-werft_session<token>

For the web console: the browser session cookie set by POST /v1/auth/login. It holds the scopes of the user's workspace role (owner: all; admin and member: all but sessions:recover). Requests other than GET must also send X-Requested-With: werft-web.

Path Parameters

id*string

The workspace's id.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
repositoryId*string

The repository's id in the workspace's repository catalog.

Length1 <= length <= 200

Response Body

The pins and the candidates.

application/json
  1. response
catalog_id*string
Length1 <= length
pins*
candidates*array<>
Example Request
curl -X GET 'https://example.com/v1/workspaces/497f6eca-6276-4993-bfeb-53cbbbba6f08/github-repositories/string/app-pins'
Example Response
{  "catalog_id": "app",  "pins": {    "author": "019a0000-0000-7000-8000-0000000000c9",    "reviewer": null  },  "candidates": [    {      "connection_id": "019a0000-0000-7000-8000-0000000000c9",      "role": "author",      "name": "Acme second",      "app_id": 234569,      "installed": true    }  ]}