ke.appveyor.appveyor-swagger.0.2.10.source-code.swagger.yaml Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of appveyor-swagger Show documentation
Show all versions of appveyor-swagger Show documentation
AppVeyor REST API Client generated from the unofficial Swagger API
definition in Java.
The newest version!
swagger: '2.0'
# API metadata
info:
title: AppVeyor REST API
version: 0.20170106.0
description: |
AppVeyor is a hosted continuous integration service which runs on Microsoft
Windows. The AppVeyor REST API provides a RESTful way to interact with the
AppVeyor service. This includes managing projects, builds, deployments,
and the teams that build them.
Additional help and discussion of the AppVeyor REST API is available at
http://help.appveyor.com/discussions
This Swagger definition is an **unofficial** description of the AppVeyor
REST API maintained at https://github.com/kevinoid/appveyor-swagger
Please report any issues or suggestions for this Swagger definition at
https://github.com/kevinoid/appveyor-swagger/issues/new
#### API Conventions
Fields which are missing from update operations (`PUT` requests) are
typically reset to their default values. So although most fields are not
technically required, they should usually be specified in practice.
contact:
name: AppVeyor Team
email: [email protected]
url: https://www.appveyor.com/about/
termsOfService: https://www.appveyor.com/terms-of-service/
license:
name: AppVeyor End User License Agreement (EULA)
url: https://www.appveyor.com/eula/
x-logo:
url: https://www.appveyor.com/assets/img/appveyor-logo-256.png
x-unofficialSpec: true
# Link to published docs
externalDocs:
description: AppVeyor REST API Documentation
url: https://www.appveyor.com/docs/api/
# Domain of the service
host: ci.appveyor.com
# Protocols the API supports
schemes:
- https
# Path prefix for API paths
basePath: /api
# Supported request types (Content-Type)
consumes:
- application/json
# Supported response types (Accept)
produces:
- application/json
- application/xml
securityDefinitions:
# OpenAPI v3.0 definition:
#apiToken:
# type: http
# scheme: bearer
apiToken:
description: >-
API token can be acquired from https://ci.appveyor.com/api-token
This value must be passed to the server in the `Authorization` header
as `"Bearer "`. Since [bearer token authentication support is not
explicitly supported in OpenAPI
2.0](https://github.com/OAI/OpenAPI-Specification/issues/583), client
code will vary. Clients created with
[swagger-codegen](https://github.com/swagger-api/swagger-codegen) should
set `apiKeyPrefix` to `"Bearer"` and set `apiKey` to the token. Other
clients may need to set `apiKey` to the string `"Bearer "`.
Note that this should be [fixed in OpenAPI
3.0](https://github.com/OAI/OpenAPI-Specification/pull/807)), whenever
that becomes available and supported.
type: apiKey
in: header
name: Authorization
security:
- apiToken: []
tags:
- name: Collaborator
externalDocs:
url: https://www.appveyor.com/docs/api/team/
- name: Role
externalDocs:
url: https://www.appveyor.com/docs/api/team/
- name: User
externalDocs:
url: https://www.appveyor.com/docs/api/team/
- name: Build
externalDocs:
url: https://www.appveyor.com/docs/api/projects-builds/
- name: Project
externalDocs:
url: https://www.appveyor.com/docs/api/projects-builds/
- name: Deployment
externalDocs:
url: https://www.appveyor.com/docs/api/environments-deployments/
- name: Environment
externalDocs:
url: https://www.appveyor.com/docs/api/environments-deployments/
parameters:
### {{{ Teams
roleId:
name: roleId
in: path
description: Role ID
type: integer
required: true
minimum: 0
userId:
name: userId
in: path
description: User ID
type: integer
required: true
minimum: 0
### }}}
### {{{ Projects and Builds
accountName:
name: accountName
in: path
description: AppVeyor account name (`accountName` property of `UserAccount`)
type: string
required: true
minLength: 1
all:
name: all
in: query
description: |-
Include not only `successful`, but also jobs with `failed`, and
`cancelled` status.
type: boolean
default: false
artifactFileName:
name: artifactFileName
in: path
description: |-
File name (or path) of a build artifact file.
Corresponds to the `fileName` property of `ArtifactModel`.
URL-encoding of slashes in parameter values is optional.
type: string
required: true
minLength: 1
badgeRepoProvider:
name: badgeRepoProvider
in: path
description: Repository provider supported for badges
type: string
# Note: Values are case-insensitive.
# Match capitalization of RepositoryProvider for ease of use.
enum:
- bitBucket
- gitHub
required: true
branch:
name: branch
in: query
description: Repository Branch
type: string
minLength: 1
buildBranch:
name: buildBranch
in: path
description: Build Branch
type: string
required: true
buildVersion:
name: buildVersion
in: path
description: Build Version (`version` property of `Build`)
type: string
required: true
job:
name: job
in: query
description: Name of the build job.
type: string
jobId:
name: jobId
in: path
description: Build ID (`jobId` property of `BuildJob`)
type: string
required: true
pr:
name: pr
in: query
description: |
Include PR builds in the search results?
`true` - take artifact from PR builds only;
`false` - do not look for artifact in PR builds;
default/unspecified - look for artifact in both PR an non-PR builds.
type: boolean
projectSlug:
name: projectSlug
in: path
description: Project Slug
type: string
required: true
repoAccountName:
name: repoAccountName
in: path
description: Account name with repository provider
type: string
required: true
minLength: 1
repoSlug:
name: repoSlug
in: path
description: Slug (URL component) of repository.
type: string
required: true
minLength: 1
recordsNumber:
name: recordsNumber
in: query
description: Number of results to include in the response.
type: integer
minimum: 0
required: true
startBuildId:
description: Maximum `buildId` to include in the results (exclusive).
name: startBuildId
in: query
type: integer
minimum: 0
statusBadgeId:
name: statusBadgeId
in: path
description: >-
ID of the status badge (`statusBadgeId` from `ProjectWithConfiguration`).
type: string
minLength: 1
required: true
tag:
name: tag
in: query
description: A git (or other VCS) tag
type: string
minLength: 1
### {{{ Status badges
failingText:
name: failingText
in: query
description: Text to show in badge when build is failing.
type: string
# Parameter can be unspecified (not present), but can't be empty
minLength: 1
passingText:
name: passingText
in: query
description: Text to show in badge when build is passing.
type: string
# Parameter can be unspecified (not present), but can't be empty
minLength: 1
pendingText:
name: pendingText
in: query
description: Text to show in badge when build is pending.
type: string
# Parameter can be unspecified (not present), but can't be empty
minLength: 1
retina:
name: retina
in: query
description: >-
Return a larger image suitable for retina displays? Exclusive with `svg`.
type: boolean
default: false
svg:
name: svg
in: query
description: Return an SVG image instead of PNG? Exclusive with `retina`.
type: boolean
default: false
### }}}
### }}}
### {{{ Environments and Deployments
deploymentId:
name: deploymentId
in: path
description: Deployment ID (`deploymentId` property of `Deployment`)
type: integer
minimum: 0
required: true
deploymentEnvironmentId:
name: deploymentEnvironmentId
in: path
description: >
Deployment Environment ID (`deploymentEnvironmentId` property of
`DeploymentEnvironment`)
type: integer
minimum: 0
required: true
### }}}
definitions:
Error:
type: object
properties:
message:
type: string
modelState:
description: |
When present, this property is a map of property names in the format
`request.` to an `Array` of validation error
message strings for the property.
type: object
additionalProperties:
type: array
items:
type: string
required: [message]
Timestamped:
type: object
properties:
created:
readOnly: true
type: string
format: date-time
updated:
readOnly: true
type: string
format: date-time
### {{{ Teams
BuildNotificationFrequency:
type: string
enum: [all, myCommits, none]
DeploymentNotificationFrequency:
type: string
enum: [all, none]
CollaboratorAddition:
description: |
Technically `roleId` has default value 0 and is not required, but
since role 0 never exists it would always cause a 404 response.
type: object
properties:
email:
type: string
format: email
roleId:
type: integer
minimum: 0
# Tested with POST /collaborators 2016-12-29
required: [email, roleId]
example:
email: [email protected]
roleId: 3040
CollaboratorUpdate:
description: |
Technically `userId` and `roleId` have default value 0 and are not
required, but since user 0 and role 0 never exist it would always cause
a 404 response.
type: object
properties:
userId:
type: integer
minimum: 0
roleId:
type: integer
minimum: 0
# Tested with POST /collaborators 2016-12-29
required: [userId, roleId]
example:
userId: 2018
roleId: 3040
PermissionName:
description: |
Available permission names. The names correspond to the following groups:
#### AccountPermission
- ManageApplicationAuthorizations
- UpdateAccountDetails
- UpdateBillingDetails
#### BuildEnvironmentPermission
- ConfigureBuildEnvironment
#### EnvironmentsPermission
- DeployToEnvironment
- ManageEnvironments
- UpdateEnvironmentSettings
#### ProjectsPermission
- ManageProjects
- RunProjectBuild
- UpdateProjectSettings
#### RolesPermission
- AddRole
- DeleteRole
- UpdateRoleDetails
#### UserPermission
- ConfigureApiKeys
#### UsersPermission
- AddUser
- DeleteUser
- UpdateUserDetails
type: string
enum:
# AccountPermission:
- ManageApplicationAuthorizations
- UpdateAccountDetails
- UpdateBillingDetails
# BuildEnvironmentPermission:
- ConfigureBuildEnvironment
# EnvironmentsPermission:
- DeployToEnvironment
- ManageEnvironments
- UpdateEnvironmentSettings
# ProjectsPermission:
- ManageProjects
- RunProjectBuild
- UpdateProjectSettings
# RolesPermission:
- AddRole
- DeleteRole
- UpdateRoleDetails
# UserPermission:
- ConfigureApiKeys
# UsersPermission:
- AddUser
- DeleteUser
- UpdateUserDetails
PermissionState:
type: object
properties:
name:
$ref: '#/definitions/PermissionName'
description:
type: string
allowed:
description: |
State of the named permission. `true` to allow, `false` to deny,
missing to inherit.
type: boolean
required: [name]
GroupName:
type: string
enum:
- Account
- BuildEnvironment
- Environments
- Projects
- Roles
- User
- Users
GroupPermissions:
type: object
properties:
name:
$ref: '#/definitions/GroupName'
permissions:
type: array
items:
$ref: '#/definitions/PermissionState'
required: [name, permissions]
RoleAddition:
type: object
properties:
name:
type: string
minLength: 1
required: [name]
example:
name: My Role
Role:
description: |
Technically `roleId` has default value 0 and is not required, but
since role 0 never exists it would always cause a 404 response.
allOf:
- $ref: '#/definitions/Timestamped'
- type: object
properties:
roleId:
type: integer
minimum: 0
name:
type: string
# Tested with PUT /api/roles 2016-12-29
minLength: 1
isSystem:
type: boolean
readOnly: true
# Tested with PUT /api/roles 2016-12-29
# Technically roleId
required: [roleId, name]
RoleWithGroups:
allOf:
- $ref: '#/definitions/Role'
- type: object
properties:
groups:
type: array
items:
$ref: '#/definitions/GroupPermissions'
example:
roleId: 3040
name: My Role
isSystem: false
created: '2014-03-18T20:12:08.4749886+00:00'
groups:
- name: Projects
permissions:
- name: ManageProjects
description: Create, delete projects, update project settings
allowed: true
- name: UpdateProjectSettings
description: Update project settings
allowed: true
- name: RunProjectBuild
description: Run project builds
allowed: false
- name: DeleteProjectBuilds
description: Delete project builds
allowed: false
- name: Environments
permissions:
- name: ManageEnvironments
description: Create, delete projects, update environment settings
allowed: false
- name: UpdateEnvironmentSettings
description: Update environment settings
allowed: false
- name: DeployToEnvironment
description: Deploy to environment
allowed: false
- name: Account
permissions:
- name: UpdateAccountDetails
description: Update account details
allowed: false
- name: Users
permissions:
- name: AddUser
description: Add new user
allowed: false
- name: UpdateUserDetails
description: Update user details
allowed: false
- name: DeleteUser
description: Delete user
allowed: false
- name: Roles
permissions:
- name: AddRole
description: Add new role
allowed: false
- name: UpdateRoleDetails
description: Update role details
allowed: false
- name: DeleteRole
description: Delete role
allowed: false
- name: User
permissions:
- name: ConfigureApiKeys
description: Generate API keys
allowed: false
UserAddition:
type: object
properties:
fullName:
type: string
email:
type: string
format: email
roleId:
description: |
Technically `roleId` has default value 0 and is not required, but
since role 0 never exists it would always cause a 404 response.
type: integer
minimum: 0
generatePassword:
type: boolean
password:
# Note: Could require/forbid password based on generatePassword
# using JSON Schema oneOf but it is not allowed by Swagger spec
# https://github.com/OAI/OpenAPI-Specification/issues/333
# https://github.com/OAI/OpenAPI-Specification/pull/741
type: string
minLength: 1
format: password
confirmPassword:
# FIXME: Can't think of a way to validate equality with password
# https://stackoverflow.com/a/27610799
type: string
minLength: 1
format: password
required: [fullName, email, roleId]
example:
fullName: John Smith
email: [email protected]
roleId: 4
generatePassword: false
password: password
confirmPassword: password
UserAccountSettings:
type: object
properties:
successfulBuildNotification:
$ref: '#/definitions/BuildNotificationFrequency'
failedBuildNotification:
$ref: '#/definitions/BuildNotificationFrequency'
notifyWhenBuildStatusChangedOnly:
description: |
Note that this value is `true` on user creation, but behaves as
`false` when not specified on update.
type: boolean
default: false
successfulDeploymentNotification:
$ref: '#/definitions/DeploymentNotificationFrequency'
failedDeploymentNotification:
$ref: '#/definitions/DeploymentNotificationFrequency'
notifyWhenDeploymentStatusChangedOnly:
description: |
Note that this value is `true` on user creation, but behaves as
`false` when not specified on update.
type: boolean
default: false
# Tested against PUT /users 2016-12-29
required:
- successfulBuildNotification
- failedBuildNotification
- successfulDeploymentNotification
- failedDeploymentNotification
# Note: I would prefer the name User, but User must be used for
# UserGroupPermissions in the due to how discriminator works.
# Item 1 of https://github.com/OAI/OpenAPI-Specification/issues/707
UserAccount:
allOf:
- $ref: '#/definitions/Timestamped'
- $ref: '#/definitions/UserAccountSettings'
- type: object
properties:
accountId:
readOnly: true
type: integer
minimum: 0
accountName:
readOnly: true
type: string
isOwner:
readOnly: true
type: boolean
isCollaborator:
readOnly: true
type: boolean
userId:
type: integer
minimum: 0
fullName:
type: string
email:
type: string
format: email
password:
type: string
minLength: 1
format: password
roleId:
type: integer
minimum: 0
roleName:
readOnly: true
type: string
pageSize:
type: integer
minimum: 0
readOnly: true
# Tested against PUT /users 2016-12-29
required: [fullName, email]
example:
userId: 3019
fullName: John Smith
email: [email protected]
roleId: 4
successfulBuildNotification: all
failedBuildNotification: all
notifyWhenBuildStatusChangedOnly: true
UserAccountRolesResults:
description: >-
The roles property contains all roles, not only the role for which the
user is a member.
type: object
properties:
user:
$ref: '#/definitions/UserAccount'
roles:
type: array
items:
$ref: '#/definitions/Role'
### Teams }}}
### {{{ Projects and Builds
StringValueObject:
type: object
properties:
value:
type: string
Status:
type: string
enum: [cancelled, cancelling, failed, queued, running, success]
Job:
allOf:
- $ref: '#/definitions/Timestamped'
- type: object
properties:
jobId:
type: string
name:
type: string
status:
$ref: '#/definitions/Status'
started:
type: string
format: date-time
finished:
type: string
format: date-time
OSType:
type: string
enum: [Ubuntu, Windows]
BuildJob:
allOf:
- $ref: '#/definitions/Job'
- type: object
properties:
osType:
$ref: '#/definitions/OSType'
allowFailure:
type: boolean
messagesCount:
type: integer
minimum: 0
compilationMessagesCount:
type: integer
minimum: 0
compilationErrorsCount:
type: integer
minimum: 0
compilationWarningsCount:
type: integer
minimum: 0
testsCount:
type: integer
minimum: 0
passedTestsCount:
type: integer
minimum: 0
failedTestsCount:
type: integer
minimum: 0
artifactsCount:
type: integer
minimum: 0
BuildStartRequest:
type: object
properties:
accountName:
type: string
minLength: 1
projectSlug:
type: string
minLength: 1
branch:
type: string
commitId:
type: string
pullRequestId:
description: Can not be used with `branch` or `commitId`
type: integer
minimum: 1
environmentVariables:
type: object
additionalProperties:
type: string
required: [accountName, projectSlug]
example:
accountName: your-account-name
projectSlug: project-slug-from-url
branch: master
environmentVariables:
my_var: value
another_var: another value
BuildMessageCategory:
type: string
# TODO: Find a way to enumerate these
enum:
- information
# This category was observed in compilationMessages:
# https://ci.appveyor.com/project/SonarSource/sonar-scanner-msbuild/build/1.0.1003/messages
# Not sure if it applies to build messages
- warning
BuildMessage:
type: object
properties:
category:
$ref: '#/definitions/BuildMessageCategory'
message:
type: string
created:
type: string
format: date-time
BuildLookupModel:
type: object
properties:
branch:
type: string
buildId:
type: integer
minimum: 0
message:
type: string
version:
type: string
Build:
allOf:
- $ref: '#/definitions/BuildLookupModel'
- $ref: '#/definitions/Timestamped'
- type: object
properties:
jobs:
description: >-
Always empty in getProjectHistory and startDeployment responses.
type: array
items:
$ref: '#/definitions/BuildJob'
buildNumber:
type: integer
minimum: 0
messageExtended:
type: string
isTag:
type: boolean
commitId:
type: string
authorName:
type: string
authorUsername:
type: string
committerName:
type: string
committerUsername:
type: string
committed:
type: string
format: date-time
pullRequestId:
type: integer
minimum: 1
pullRequestName:
type: string
messages:
type: array
items:
$ref: '#/definitions/BuildMessage'
status:
$ref: '#/definitions/Status'
started:
type: string
format: date-time
finished:
type: string
format: date-time
RepositoryAuthenticationType:
type: string
enum: [credentials, ssh]
RepositoryProvider:
type: string
enum:
- bitBucket
- git
- gitHub
- gitLab
- kiln
- mercurial
- stash
- subversion
- vso
RepositoryScm:
type: string
enum:
- git
- mercurial
- subversion
AccessRightName:
type: string
enum: [Delete, Deploy, RunBuild, Update, View]
AceAccessRightDefinition:
type: object
properties:
name:
$ref: '#/definitions/AccessRightName'
description:
type: string
required: [name]
AceAccessRight:
type: object
properties:
name:
$ref: '#/definitions/AccessRightName'
allowed:
# Note: true==allow, false==deny, undefined==inherit
type: boolean
required: [name]
RoleAce:
type: object
properties:
roleId:
type: integer
minimum: 0
name:
type: string
isAdmin:
type: boolean
accessRights:
type: array
items:
$ref: '#/definitions/AceAccessRight'
SecurityDescriptor:
type: object
properties:
accessRightDefinitions:
type: array
items:
$ref: '#/definitions/AceAccessRightDefinition'
roleAces:
type: array
items:
$ref: '#/definitions/RoleAce'
NuGetFeed:
allOf:
- $ref: '#/definitions/Timestamped'
- type: object
properties:
id:
type: string
name:
type: string
accountId:
type: integer
minimum: 0
projectId:
type: integer
minimum: 0
isPrivateProject:
type: boolean
publishingEnabled:
type: boolean
ProjectAddition:
description: >-
`repositoryAuthentication` is only used for git, mercurial, subversion
`repositoryProvider`.
type: object
properties:
repositoryProvider:
$ref: '#/definitions/RepositoryProvider'
repositoryName:
description: >-
URL when repositoryProvider is git, mercurial, subversion
username/project when repositoryProvider is gitHub
type: string
minLength: 1
repositoryAuthentication:
$ref: '#/definitions/RepositoryAuthenticationType'
repositoryUsername:
description: Required if repositoryAuthentication is credentials
type: string
repositoryPassword:
description: Required if repositoryAuthentication is credentials
type: string
format: password
required: [repositoryProvider, repositoryName]
example:
repositoryProvider: gitHub
repositoryName: FeodorFitsner/demo-app
ProjectLookupModel:
type: object
properties:
projectId:
type: integer
minimum: 0
accountName:
type: string
readOnly: true
name:
type: string
slug:
type: string
readOnly: true
# Note: requirements tested against PUT /api/projects 2016-12-21
required:
- projectId
Project:
allOf:
- $ref: '#/definitions/ProjectLookupModel'
- $ref: '#/definitions/Timestamped'
- type: object
properties:
accountId:
type: integer
minimum: 0
readOnly: true
builds:
description: Only non-empty for response from getProjects.
type: array
items:
$ref: '#/definitions/Build'
readOnly: true
repositoryType:
$ref: '#/definitions/RepositoryProvider'
repositoryScm:
$ref: '#/definitions/RepositoryScm'
repositoryName:
type: string
repositoryBranch:
description: Not present in response from addProject.
type: string
isPrivate:
type: boolean
skipBranchesWithoutAppveyorYml:
type: boolean
enableSecureVariablesInPullRequests:
type: boolean
enableSecureVariablesInPullRequestsFromSameRepo:
type: boolean
enableDeploymentInPullRequests:
type: boolean
saveBuildCacheInPullRequests:
type: boolean
rollingBuilds:
type: boolean
rollingBuildsDoNotCancelRunningBuilds:
type: boolean
alwaysBuildClosedPullRequests:
type: boolean
tags:
type: string
description: |-
Comma-separated list of project tags for dynamic grouping.
Appears that any input is accepted. The returned value only
contains case-preserving but insensitive unique values where
spaces around "," are removed but otherwise preserved. Empty
values and items are allowed.
nuGetFeed:
description: Not present in response from addProject.
$ref: '#/definitions/NuGetFeed'
securityDescriptor:
description: >-
Not present in response from addProject.
Not always present in response from getProjects (only after
updateProject or startBuild?).
$ref: '#/definitions/SecurityDescriptor'
# Note: requirements tested against PUT /api/projects 2016-12-21
required:
- repositoryName
ProjectBuildNumberUpdate:
type: object
properties:
nextBuildNumber:
type: integer
minimum: 0
required: [nextBuildNumber]
example:
nextBuildNumber: 35
ProjectBuildResults:
type: object
properties:
project:
$ref: '#/definitions/Project'
build:
$ref: '#/definitions/Build'
ProjectHistory:
type: object
properties:
project:
$ref: '#/definitions/Project'
builds:
type: array
items:
$ref: '#/definitions/Build'
BuildCloudName:
type: string
enum: [gce, pro-vs2013, pro-win2016, pro-vs2017, ubuntu]
BuildWorkerImageName:
type: string
enum:
- Previous Visual Studio 2013
- Previous Visual Studio 2015
- Previous Visual Studio 2017
- Ubuntu
- Visual Studio 2013
- Visual Studio 2015
- Visual Studio 2017
- Visual Studio 2017 Preview
- WMF 5
BuildWorkerImage:
type: object
properties:
buildWorkerImageId:
type: integer
minimum: 0
name:
$ref: '#/definitions/BuildWorkerImageName'
buildCloudName:
$ref: '#/definitions/BuildCloudName'
osType:
$ref: '#/definitions/OSType'
required: [buildWorkerImageId, name]
ScriptLanguage:
type: string
enum: [cmd, ps]
Script:
type: object
properties:
language:
$ref: '#/definitions/ScriptLanguage'
script:
type: string
required: [script]
ArtifactType:
type: string
description: |-
Possible values from `Push-AppveyorArtifact` cmdlet `-Type` parameter.
The web UI only allows selection of `Auto`, `WebDeployPackage`, and
unspecified (which it sends as the empty string but functions like
omitting the property) for `updateProject`.
Any string can be sent and will be saved/returned, but only these
values have a function (as far as I am aware).
enum:
- Auto
- AzureCloudService
- AzureCloudServiceConfig
- File
- NuGetPackage
- SsdtPackage
- WebDeployPackage
- Zip
# Note: Called ArtifactEntry in XML
Artifact:
type: object
properties:
path:
description: |
Path glob of artifact files.
Note that updateProject does not require path, but omitting path
results in post-build error "Collecting artifacts... Value cannot
be null. Parameter name: input"
type: string
# format: globpath
name:
title: Deployment name
type: string
minLength: 0
type:
$ref: '#/definitions/ArtifactType'
required: [path]
ArtifactModel:
type: object
properties:
fileName:
type: string
name:
title: Deployment name
type: string
type:
$ref: '#/definitions/ArtifactType'
size:
type: integer
minimum: 0
url:
description: |
This property has not been observed in JSON responses, but is
present and nil in XML responses.
type: string
BuildMode:
type: string
enum: [msbuild, none, script]
DeployMode:
type: string
enum: [providers, none, script]
MSBuildVerbosity:
type: string
enum: [quiet, minimal, normal, detailed]
OSServiceName:
type: string
enum:
- iis
- mongodb
- msmq
- mssql2008r2sp2
- mssql2008r2sp2rs
- mssql2012sp1
- mssql2012sp1rs
- mssql2014
- mssql2014rs
- mssql2016
- mysql
- postgresql
PlatformName:
type: string
enum:
- ARM
- Any CPU
- x64
- x86
TestMode:
type: string
enum: [auto, none, script]
StoredValue:
type: object
properties:
isEncrypted:
type: boolean
value:
description: |-
Encrypted values can be created using the encryptValue operation.
Empty environment variables are represented by missing (null) value
rather than an empty string.
type: string
StoredNameValue:
type: object
properties:
name:
type: string
minLength: 1
value:
$ref: '#/definitions/StoredValue'
required: [name, value]
StoredNameValueMatrix:
type: object
properties:
variables:
$ref: '#/definitions/StoredNameValue'
HostEntry:
type: object
properties:
host:
type: string
minLength: 1
# Note: API doesn't enforce valid hostnames
# format: hostname
ip:
type: string
minLength: 1
# Note: API doesn't enforce valid IP address
# Can't use anyOf for format: ipv4 or format: ipv6 anyway.
# https://github.com/OAI/OpenAPI-Specification/pull/741
required: [host, ip]
EncryptRequest:
type: object
properties:
plainValue:
# Note: Can send non-string values.
# Result is same as sending string equivalent (e.g. "1" vs 1).
type: string
default: ""
example:
plainValue: encryptme
ProjectBranchesMode:
type: string
enum: [exclude, include]
ProjectConfiguration:
type: object
properties:
doNotIncrementBuildNumberOnPullRequests:
type: boolean
hotFixScripts:
type: array
items:
$ref: '#/definitions/Script'
initScripts:
type: array
items:
$ref: '#/definitions/Script'
branchesMode:
$ref: '#/definitions/ProjectBranchesMode'
includeBranches:
type: array
items:
$ref: '#/definitions/StringValueObject'
excludeBranches:
type: array
items:
$ref: '#/definitions/StringValueObject'
skipTags:
type: boolean
skipNonTags:
type: boolean
skipBranchWithPullRequests:
type: boolean
skipCommitsFiles:
type: array
items:
$ref: '#/definitions/StringValueObject'
onlyCommitsFiles:
type: array
items:
$ref: '#/definitions/StringValueObject'
cloneScripts:
type: array
items:
$ref: '#/definitions/Script'
onBuildSuccessScripts:
type: array
items:
$ref: '#/definitions/Script'
onBuildErrorScripts:
type: array
items:
$ref: '#/definitions/Script'
onBuildFinishScripts:
type: array
items:
$ref: '#/definitions/Script'
patchAssemblyInfo:
type: boolean
assemblyInfoFile:
type: string
assemblyVersionFormat:
type: string
assemblyFileVersionFormat:
type: string
assemblyInformationalVersionFormat:
type: string
patchDotnetCsproj:
type: boolean
dotnetCsprojFile:
type: string
dotnetCsprojVersionFormat:
type: string
dotnetCsprojAssemblyVersionFormat:
type: string
dotnetCsprojFileVersionFormat:
type: string
dotnetCsprojInformationalVersionFormat:
type: string
dotnetCsprojPackageVersionFormat:
type: string
maxJobs:
type: integer
minimum: 1
buildCloud:
type: array
items:
$ref: '#/definitions/StringValueObject'
operatingSystem:
title: Build worker image
type: array
items:
type: object
properties:
value:
$ref: '#/definitions/BuildWorkerImageName'
required: [value]
services:
title: OS services to start during the build process
type: array
items:
type: object
properties:
value:
$ref: '#/definitions/OSServiceName'
required: [value]
cloneFolder:
type: string
shallowClone:
type: boolean
forceHttpsClone:
type: boolean
cloneDepth:
type: integer
minimum: 1
environmentVariables:
type: array
items:
$ref: '#/definitions/StoredNameValue'
environmentVariablesMatrix:
type: array
items:
$ref: '#/definitions/StoredNameValueMatrix'
installScripts:
type: array
items:
$ref: '#/definitions/Script'
hostsEntries:
type: array
items:
$ref: '#/definitions/HostEntry'
cacheEntries:
type: array
items:
$ref: '#/definitions/StringValueObject'
configureNuGetProjectSource:
type: boolean
configureNuGetAccountSource:
type: boolean
disableNuGetPublishOnPullRequests:
type: boolean
buildMode:
$ref: '#/definitions/BuildMode'
platform:
type: array
items:
type: object
properties:
value:
$ref: '#/definitions/PlatformName'
required: [value]
configuration:
type: array
items:
$ref: '#/definitions/StringValueObject'
msBuildProjectFileName:
type: string
# format: path
packageWebApplicationProjects:
type: boolean
packageWebApplicationProjectsXCopy:
type: boolean
packageAzureCloudServiceProjects:
type: boolean
packageNuGetProjects:
type: boolean
packageNuGetSymbols:
type: boolean
includeNuGetReferences:
type: boolean
msBuildInParallel:
type: boolean
msBuildVerbosity:
$ref: '#/definitions/MSBuildVerbosity'
buildScripts:
description: Only set/used when `buildMode` is `script`.
type: array
items:
$ref: '#/definitions/Script'
beforeBuildScripts:
type: array
items:
$ref: '#/definitions/Script'
beforePackageScripts:
type: array
items:
$ref: '#/definitions/Script'
afterBuildScripts:
type: array
items:
$ref: '#/definitions/Script'
testMode:
$ref: '#/definitions/TestMode'
testAssemblies:
type: array
items:
$ref: '#/definitions/StringValueObject'
testCategoriesMode:
type: string
enum: [exclude, include]
testCategories:
type: array
items:
$ref: '#/definitions/StringValueObject'
testCategoriesMatrix:
type: array
items:
type: object
properties:
categories:
type: array
items:
$ref: '#/definitions/StringValueObject'
testScripts:
description: Only set/used when `testMode` is `script`.
type: array
items:
$ref: '#/definitions/Script'
beforeTestScripts:
type: array
items:
$ref: '#/definitions/Script'
afterTestScripts:
type: array
items:
$ref: '#/definitions/Script'
deployMode:
$ref: '#/definitions/DeployMode'
deployments:
type: array
items:
$ref: '#/definitions/DeploymentProvider'
deployScripts:
type: array
items:
$ref: '#/definitions/Script'
beforeDeployScripts:
type: array
items:
$ref: '#/definitions/Script'
afterDeployScripts:
type: array
items:
$ref: '#/definitions/Script'
xamarinRegisterAndroidProduct:
type: boolean
xamarinRegisterIosProduct:
type: boolean
matrixFastFinish:
type: boolean
matrixAllowFailures:
description: >-
Although the names and values are not enforced, the combinations
which are meaningful are documented at
https://www.appveyor.com/docs/build-configuration/#allow-failing-jobs
type: array
items:
$ref: '#/definitions/StoredNameValueMatrix'
matrixExclude:
type: array
items:
# Note: Has not been observed in a response. Guess item type.
$ref: '#/definitions/StoredNameValueMatrix'
artifacts:
type: array
items:
$ref: '#/definitions/Artifact'
notifications:
type: array
items:
$ref: '#/definitions/NotificationProviderSettings'
ProjectWithConfiguration:
type: object
allOf:
- $ref: '#/definitions/Project'
- type: object
properties:
versionFormat:
type: string
# API returns 400: "Version format must contain {build} variable."
pattern: '[{]build[}]'
minLength: 7
nextBuildNumber:
type: integer
# Web UI enforces minimum of 0, REST API does not
scheduleCrontabExpression:
externalDocs:
url: 'https://appveyor-staging.azurewebsites.net/docs/build-configuration/#scheduled-builds'
description: >-
Build schedule as an NCrontab Expression. See
https://github.com/atifaziz/NCrontab/wiki/Crontab-Expression
type: string
repositoryAuthentication:
$ref: '#/definitions/RepositoryAuthenticationType'
repositoryUsername:
type: string
sshPublicKey:
type: string
webhookId:
type: string
webhookUrl:
type: string
format: uri
statusBadgeId:
type: string
buildPriority:
type: integer
minimum: 1
ignoreAppveyorYml:
type: boolean
customYmlName:
type: string
configuration:
$ref: '#/definitions/ProjectConfiguration'
# Note: requirements tested against PUT /api/projects 2016-12-21
required:
- versionFormat
- configuration
example:
projectId: 43682
accountId: 2
accountName: appvyr
builds: []
name: demo-app
slug: demo-app-335
versionFormat: 1.0.{build}
nextBuildNumber: 1
repositoryType: gitHub
repositoryScm: git
repositoryName: FeodorFitsner/demo-app
repositoryBranch: master
webhookId: rca5vb5qqu
webhookUrl: https://ci.appveyor.com/api/github/webhook?id=rca5vb5qqu
isPrivate: false
ignoreAppveyorYml: false
skipBranchesWithoutAppveyorYml: false
configuration:
initScripts: []
includeBranches: []
excludeBranches: []
onBuildSuccessScripts: []
onBuildErrorScripts: []
patchAssemblyInfo: false
assemblyInfoFile: '**\AssemblyInfo.*'
assemblyVersionFormat: '{version}'
assemblyFileVersionFormat: '{version}'
assemblyInformationalVersionFormat: '{version}'
operatingSystem: []
services: []
shallowClone: false
environmentVariables: []
environmentVariablesMatrix: []
installScripts: []
hostsEntries: []
buildMode: msbuild
platform: []
configuration: []
packageWebApplicationProjects: false
packageWebApplicationProjectsXCopy: false
packageAzureCloudServiceProjects: false
packageNuGetProjects: false
msBuildVerbosity: minimal
buildScripts: []
beforeBuildScripts: []
afterBuildScripts: []
testMode: auto
testAssemblies: []
testCategories: []
testCategoriesMatrix: []
testScripts: []
beforeTestScripts: []
afterTestScripts: []
deployMode: providers
deployments: []
deployScripts: []
beforeDeployScripts: []
afterDeployScripts: []
matrixFastFinish: false
matrixAllowFailures: []
artifacts: []
notifications: []
nuGetFeed:
id: demo-app-tw5iw2wk3bl1
name: Project demo-app
publishingEnabled: false
created: '2014-08-16T00:52:16.9886427+00:00'
securityDescriptor:
accessRightDefinitions:
- name: View
description: View
- name: RunBuild
description: Run build
- name: Update
description: Update settings
- name: Delete
description: Delete project
roleAces:
- roleId: 4
name: Administrator
isAdmin: true
accessRights:
- name: View
allowed: true
- name: RunBuild
allowed: true
- name: Update
allowed: true
- name: Delete
allowed: true
- roleId: 5
name: User
isAdmin: false
accessRights:
- name: View
- name: RunBuild
- name: Update
- name: Delete
created: '2014-08-16T00:52:15.6604826+00:00'
ProjectSettingsResults:
type: object
properties:
project:
$ref: '#/definitions/Project'
settings:
$ref: '#/definitions/ProjectWithConfiguration'
images:
type: array
items:
$ref: '#/definitions/BuildWorkerImage'
buildClouds:
type: array
items:
$ref: '#/definitions/StringValueObject'
defaultImageName:
type: string
example:
version: 1.0.{build}
build:
project: MySolution.sln
verbosity: minimal
publish_wap: true
### Projects and Builds }}}
### {{{ Environments and Deployments
HttpMethodRestricted:
type: string
enum: [GET, POST]
### {{{ Deployment Settings
DeploymentProviderType:
type: string
enum:
- Agent
- AzureBlob
- AzureCS
- AzureWebJob
- BinTray
- FTP
- GitHub
- NuGet
- S3
- SqlDatabase
- WebDeploy
- Webhook
DeploymentProvider:
type: object
properties:
provider:
$ref: '#/definitions/DeploymentProviderType'
providerSettings:
type: array
items:
$ref: '#/definitions/StoredNameValue'
onBranch:
type: array
# The web UI only displays a single branch. Max length?
items:
$ref: '#/definitions/StringValueObject'
onEnvironmentVariables:
type: array
items:
$ref: '#/definitions/StoredNameValue'
required: [provider]
DeploymentEnvironmentSettings:
type: object
properties:
providerSettings:
type: array
items:
$ref: '#/definitions/StoredNameValue'
environmentVariables:
type: array
items:
$ref: '#/definitions/StoredNameValue'
notifications:
type: array
items:
$ref: '#/definitions/NotificationProviderSettings'
DeploymentEnvironmentAddition:
type: object
properties:
name:
type: string
provider:
$ref: '#/definitions/DeploymentProviderType'
settings:
$ref: '#/definitions/DeploymentEnvironmentSettings'
required: [name, provider, settings]
example:
name: production
provider: FTP
settings:
providerSettings:
- name: server
value:
value: ftp.myserver.com
isEncrypted: false
- name: username
value:
value: ftp-user
isEncrypted: false
- name: password
value:
value: password
isEncrypted: true
environmentVariables:
- name: my-var
value:
value: '123'
isEncrypted: false
DeploymentEnvironmentLookupModel:
type: object
properties:
deploymentEnvironmentId:
type: integer
minimum: 0
name:
type: string
provider:
$ref: '#/definitions/DeploymentProviderType'
DeploymentEnvironment:
allOf:
- $ref: '#/definitions/DeploymentEnvironmentLookupModel'
- $ref: '#/definitions/Timestamped'
- type: object
properties:
accountId:
type: integer
projectsMode:
# Note: May be able to define enumeration value names in OpenAPI v3
# https://github.com/OAI/OpenAPI-Specification/issues/681
#
# swagger-codegen fails when this enumeration is a toplevel definition
# due to https://github.com/swagger-api/swagger-parser/pull/363
description: |-
0 is "Any project can be deployed to the environment"
1 is "Only selected projects can be deployed to the environment"
2 is "All except selected projects can be deployed to the environment"
type: integer
enum: [0, 1, 2]
securityDescriptor:
$ref: '#/definitions/SecurityDescriptor'
tags:
description: |-
Comma-separated list of environment tags for dynamic grouping.
Appears that any input is accepted. The returned value only
contains case-preserving but insensitive unique values where
spaces around "," are removed but otherwise preserved. Empty
values and items are allowed.
type: string
DeploymentEnvironmentProject:
type: object
properties:
projectId:
type: integer
minimum: 0
name:
type: string
isSelected:
type: boolean
required: [projectId, name, isSelected]
DeploymentEnvironmentWithSettings:
allOf:
- $ref: '#/definitions/DeploymentEnvironment'
- type: object
properties:
environmentAccessKey:
type: string
settings:
$ref: '#/definitions/DeploymentEnvironmentSettings'
selectedProjects:
description: Project IDs of selected projects
type: array
items:
type: integer
minimum: 1
projects:
description: |
Projects available for selection in UI.
Only present in response from getEnvironmentSettings.
type: array
items:
$ref: '#/definitions/DeploymentEnvironmentProject'
example:
deploymentEnvironmentId: 3018
name: production
environmentAccessKey: gi3ttevuk7123
settings:
providerSettings:
- name: server
value:
isEncrypted: false
value: ftp.myserver.com
- name: username
value:
isEncrypted: false
value: ftp-user
- name: password
value:
isEncrypted: true
value: password
environmentVariables:
- name: my-var
value:
isEncrypted: false
value: '123'
provider: FTP
DeploymentEnvironmentSettingsResults:
type: object
properties:
environment:
$ref: '#/definitions/DeploymentEnvironmentWithSettings'
DeploymentStartRequest:
type: object
properties:
environmentName:
type: string
minLength: 1
accountName:
type: string
minLength: 1
projectSlug:
type: string
minLength: 1
buildVersion:
description: Build to deploy
type: string
minLength: 1
buildJobId:
description: >-
Optional job id with artifacts if build contains multiple jobs.
type: string
environmentVariables:
type: object
additionalProperties:
type: string
required: [environmentName, accountName, projectSlug, buildVersion]
example:
environmentName: environment-to-deploy
accountName: your-account-name
projectSlug: project-slug-from-url
buildVersion: 1.2.0
buildJobId: sfke9239ydzf
environmentVariables:
server: myserver.com
another_var: another value
DeploymentJob:
allOf:
- $ref: '#/definitions/Job'
- type: object
properties:
messagesCount:
type: integer
minimum: 0
DeploymentLookupModel:
type: object
properties:
deploymentId:
type: integer
minimum: 0
build:
$ref: '#/definitions/BuildLookupModel'
status:
$ref: '#/definitions/Status'
started:
type: string
format: date-time
finished:
type: string
format: date-time
Deployment:
allOf:
- $ref: '#/definitions/DeploymentLookupModel'
- $ref: '#/definitions/Timestamped'
- type: object
properties:
build:
$ref: '#/definitions/Build'
environment:
$ref: '#/definitions/DeploymentEnvironment'
jobs:
type: array
items:
$ref: '#/definitions/DeploymentJob'
DeploymentCancellation:
type: object
properties:
deploymentId:
type: integer
minimum: 0
required: [deploymentId]
example:
deploymentId: 123
ProjectDeployment:
type: object
properties:
project:
$ref: '#/definitions/Project'
deployment:
$ref: '#/definitions/Deployment'
required: [project, deployment]
ProjectDeploymentModel:
allOf:
- $ref: '#/definitions/DeploymentLookupModel'
- type: object
properties:
environment:
$ref: '#/definitions/DeploymentEnvironmentLookupModel'
ProjectDeploymentsResults:
type: object
properties:
project:
$ref: '#/definitions/Project'
deployments:
type: array
items:
$ref: '#/definitions/ProjectDeploymentModel'
EnvironmentDeploymentModel:
allOf:
- $ref: '#/definitions/DeploymentLookupModel'
- type: object
properties:
project:
$ref: '#/definitions/ProjectLookupModel'
DeploymentEnvironmentDeploymentsResults:
type: object
properties:
environment:
$ref: '#/definitions/DeploymentEnvironment'
deployments:
type: array
items:
$ref: '#/definitions/EnvironmentDeploymentModel'
required: [environment, deployments]
# Deployment Settings }}}
NotificationProviderType:
type: string
enum:
- Campfire
- Email
- GitHubPullRequest
- HipChat
- Slack
- Webhook
- VSOTeamRoom
NotificationSettingsType:
type: string
enum:
- 'Appveyor.Models.CampfireNotificationSettings, Appveyor.Models'
- 'Appveyor.Models.EmailNotificationSettings, Appveyor.Models'
- 'Appveyor.Models.GitHubPullRequestNotificationSettings, Appveyor.Models'
- 'Appveyor.Models.HipChatNotificationSettings, Appveyor.Models'
- 'Appveyor.Models.SlackNotificationSettings, Appveyor.Models'
- 'Appveyor.Models.WebhookNotificationSettings, Appveyor.Models'
- 'Appveyor.Models.VSOTeamRoomNotificationSettings, Appveyor.Models'
NotificationSettings:
description: |
This type is the union of the settings types for each of the various
notification types supported by the API. The properties correspond to
the following notification types:
#### All Types
- onBuildSuccess
- onBuildFailure
- onBuildStatusChanged
#### Campfire
- account
- authToken
- room
- template
#### Email
- subjectTemplate
- bodyTemplate
- recipients
- recipientsValue
#### GitHubPullRequest
- authToken
- template
#### HipChat
- authToken
- from
- room
- template
- serverUrl
#### Slack
- incomingWebhookUrl
- authToken
- channel
- template
#### Webhook
- method
- url
- headers
- headersValue
- addCustomRequestBody
- customRequestBodyContentType
- customRequestBody
#### VSOTeamRoom
- vsoAccount
- username
- password
- room
- template
type: object
properties:
$type:
$ref: '#/definitions/NotificationSettingsType'
onBuildSuccess:
type: boolean
onBuildFailure:
type: boolean
onBuildStatusChanged:
type: boolean
# Campfire
account:
type: string
authToken:
$ref: '#/definitions/StoredValue'
room:
type: string
template:
type: string
# Email
subjectTemplate:
type: string
bodyTemplate:
type: string
recipients:
type: array
items:
$ref: '#/definitions/StringValueObject'
recipientsValue:
type: string
# GitHubPullRequest
#authToken:
# $ref: '#/definitions/StoredValue'
#template:
# type: string
# HipChat
#authToken:
# $ref: '#/definitions/StoredValue'
from:
type: string
#room:
# type: string
#template:
# type: string
serverUrl:
type: string
format: uri
# Slack
incomingWebhookUrl:
type: string
format: uri
#authToken:
# $ref: '#/definitions/StoredValue'
channel:
type: string
#template:
# type: string
# Webhook
method:
$ref: '#/definitions/HttpMethodRestricted'
url:
type: string
format: uri
headers:
type: array
items:
$ref: '#/definitions/StoredNameValue'
headersValue:
type: string
addCustomRequestBody:
type: boolean
customRequestBodyContentType:
type: string
# Format not enforced by server, all strings permitted
#format: media-type
customRequestBody:
type: string
# VSOTeamRoom
vsoAccount:
type: string
username:
type: string
password:
$ref: '#/definitions/StoredValue'
#room:
# type: string
#template:
# type: string
NotificationProviderSettings:
type: object
properties:
provider:
$ref: '#/definitions/NotificationProviderType'
settings:
$ref: '#/definitions/NotificationSettings'
required: [provider, settings]
### Environments and Deployments }}}
responses:
Error:
description: Error
schema:
$ref: '#/definitions/Error'
# Describe your paths here
paths:
### {{{ User
/users:
get:
tags:
- User
operationId: getUsers
summary: Get users
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#get-users'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: array
items:
$ref: '#/definitions/UserAccount'
examples:
application/json:
- accountId: 2
accountName: FeodorFitsner
isOwner: false
isCollaborator: false
userId: 2019
fullName: NuGet
email: [email protected]
roleId: 5
roleName: User
successfulBuildNotification: all
failedBuildNotification: all
notifyWhenBuildStatusChangedOnly: true
created: '2014-02-12T19:21:15.0618564+00:00'
updated: '2014-03-06T22:47:44.9706252+00:00'
post:
tags:
- User
operationId: addUser
summary: Add user
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#add-user'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/UserAddition'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
put:
tags:
- User
operationId: updateUser
summary: Update user
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#update-user'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/UserAccount'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
/users/{userId}:
parameters:
- $ref: '#/parameters/userId'
get:
tags:
- User
operationId: getUser
summary: Get user
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#get-user'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/UserAccountRolesResults'
examples:
application/json:
user:
accountId: 2
accountName: FeodorFitsner
isOwner: false
isCollaborator: false
userId: 2019
fullName: NuGet
email: [email protected]
roleId: 5
roleName: User
successfulBuildNotification: all
failedBuildNotification: all
notifyWhenBuildStatusChangedOnly: true
created: '2014-02-12T19:21:15.0618564+00:00'
updated: '2014-03-06T22:47:44.9706252+00:00'
roles:
- roleId: 4
name: Administrator
isSystem: true
created: '2013-09-26T19:23:39.3615105+00:00'
- roleId: 5
name: User
isSystem: true
created: '2013-09-26T19:23:39.3645117+00:00'
delete:
tags:
- User
operationId: deleteUser
summary: Delete user
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#delete-user'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
### User }}}
### {{{ Collaborator
/collaborators:
get:
tags:
- Collaborator
operationId: getCollaborators
summary: Get collaborators
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#get-collaborators'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: array
items:
$ref: '#/definitions/UserAccount'
examples:
application/json:
- accountId: 2
accountName: FeodorFitsner
isOwner: false
isCollaborator: true
userId: 2018
fullName: John Smith
email: [email protected]
roleId: 3040
roleName: My Role
successfulBuildNotification: all
failedBuildNotification: all
notifyWhenBuildStatusChangedOnly: true
created: '2014-02-03T20:29:26.6807307+00:00'
updated: '2014-03-07T04:26:09.1051534+00:00'
post:
tags:
- Collaborator
operationId: addCollaborator
summary: Add collaborator
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#add-collaborator'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CollaboratorAddition'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
put:
tags:
- Collaborator
operationId: updateCollaborator
summary: Update collaborator
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#update-collaborator'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/CollaboratorUpdate'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
/collaborators/{userId}:
parameters:
- $ref: '#/parameters/userId'
get:
tags:
- Collaborator
operationId: getCollaborator
summary: Get collaborator
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#get-collaborator'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/UserAccountRolesResults'
examples:
application/json:
user:
accountId: 2
accountName: FeodorFitsner
isOwner: false
isCollaborator: true
userId: 2018
fullName: John Smith
email: [email protected]
roleId: 3040
roleName: My Role
successfulBuildNotification: all
failedBuildNotification: all
notifyWhenBuildStatusChangedOnly: true
created: '2014-02-03T20:29:26.6807307+00:00'
updated: '2014-03-07T04:26:09.1051534+00:00'
roles:
- roleId: 4
name: Administrator
isSystem: true
created: '2013-09-26T19:23:39.3615105+00:00'
- roleId: 5
name: User
isSystem: true
created: '2013-09-26T19:23:39.3645117+00:00'
- roleId: 3040
name: My Role
isSystem: false
created: '2014-03-18T20:12:08.4749886+00:00'
updated: '2014-03-18T20:16:06.8803375+00:00'
delete:
tags:
- Collaborator
operationId: deleteCollaborator
summary: Delete collaborator
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#delete-collaborator'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
### Collaborator }}}
### {{{ Role
/roles:
get:
tags:
- Role
operationId: getRoles
summary: Get roles
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#get-roles'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: array
items:
$ref: '#/definitions/Role'
examples:
application/json:
- roleId: 4
name: Administrator
isSystem: true
created: '2013-09-26T19:23:39.3615105+00:00'
- roleId: 5
name: User
isSystem: true
created: '2013-09-26T19:23:39.3645117+00:00'
post:
tags:
- Role
operationId: addRole
summary: Add role
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#add-role'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/RoleAddition'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/RoleWithGroups'
put:
tags:
- Role
operationId: updateRole
summary: Update role
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#update-role'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/RoleWithGroups'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/RoleWithGroups'
/roles/{roleId}:
parameters:
- $ref: '#/parameters/roleId'
get:
tags:
- Role
operationId: getRole
summary: Get role
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#get-role'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/RoleWithGroups'
examples:
application/json:
roleId: 3040
name: My Role
isSystem: false
created: '2014-03-18T20:12:08.4749886+00:00'
groups:
- name: Projects
permissions:
- name: ManageProjects
description: Create, delete projects, update project settings
allowed: false
- name: UpdateProjectSettings
description: Update project settings
allowed: false
- name: RunProjectBuild
description: Run project builds
allowed: false
- name: DeleteProjectBuilds
description: Delete project builds
allowed: false
- name: Environments
permissions:
- name: ManageEnvironments
description: Create, delete projects, update environment settings
allowed: false
- name: UpdateEnvironmentSettings
description: Update environment settings
allowed: false
- name: DeployToEnvironment
description: Deploy to environment
allowed: false
- name: Account
permissions:
- name: UpdateAccountDetails
description: Update account details
allowed: false
- name: Users
permissions:
- name: AddUser
description: Add new user
allowed: false
- name: UpdateUserDetails
description: Update user details
allowed: false
- name: DeleteUser
description: Delete user
allowed: false
- name: Roles
permissions:
- name: AddRole
description: Add new role
allowed: false
- name: UpdateRoleDetails
description: Update role details
allowed: false
- name: DeleteRole
description: Delete role
allowed: false
- name: User
permissions:
- name: ConfigureApiKeys
description: Generate API keys
allowed: false
delete:
tags:
- Role
operationId: deleteRole
summary: Delete role
externalDocs:
url: 'https://www.appveyor.com/docs/api/team/#delete-role'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
### Role }}}
### {{{ Project
/account/encrypt:
post:
# This operation is not documented anywhere, but is discussed publicly in
# http://help.appveyor.com/discussions/questions/1892-encryption-through-api
# https://github.com/appveyor/ci/issues/665
tags:
- Project
operationId: encryptValue
summary: Encrypt a value for use in StoredValue.
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/EncryptRequest'
produces:
- text/plain
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: string
# Could add format: byte since data is base64 encoded.
# Avoided since primary use is as string in StoredValue, not byte[].
examples:
text/plain: wsnoY4v1v1Uofj0xf8E6FA==
/projects:
get:
tags:
- Project
operationId: getProjects
summary: Get projects
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#get-projects'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: array
items:
$ref: '#/definitions/Project'
examples:
application/json:
- projectId: 19096
accountId: 2
accountName: FeodorFitsner
builds:
- buildId: 23864
jobs: []
buildNumber: 3
version: 1.0.3
message: replaced with command [skip ci]
branch: master
commitId: c2892a70d60c96c1b65a7c665ab806b7731fea8a
authorName: Feodor Fitsner
authorUsername: FeodorFitsner
committerName: Feodor Fitsner
committerUsername: FeodorFitsner
committed: '2014-08-15T22:05:54+00:00'
messages: []
status: success
started: '2014-08-15T22:36:38.1757886+00:00'
finished: '2014-08-15T22:37:00.6171479+00:00'
created: '2014-08-15T22:33:15.9833328+00:00'
updated: '2014-08-15T22:37:00.6171479+00:00'
name: appveyor-artifact-test
slug: appveyor-artifact-test
repositoryType: gitHub
repositoryScm: git
repositoryName: FeodorFitsner/appveyor-artifact-test
repositoryBranch: master
isPrivate: false
skipBranchesWithoutAppveyorYml: false
nuGetFeed:
id: appveyor-artifact-test-j8kk0o
name: Project appveyor-artifact-test
publishingEnabled: false
created: '2014-08-15T22:04:21.3111546+00:00'
created: '2014-08-15T22:04:19.2868375+00:00'
post:
tags:
- Project
operationId: addProject
summary: Add project
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#add-project'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/ProjectAddition'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/Project'
examples:
application/json:
projectId: 43682
accountId: 2
accountName: appvyr
builds: []
name: demo-app
slug: demo-app-335
repositoryType: gitHub
repositoryScm: git
repositoryName: FeodorFitsner/demo-app
isPrivate: false
skipBranchesWithoutAppveyorYml: false
created: '2014-08-16T00:52:15.6604826+00:00'
put:
tags:
- Project
operationId: updateProject
summary: Update project
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#update-project'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/ProjectWithConfiguration'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
/projects/{accountName}/{projectSlug}:
parameters:
- $ref: '#/parameters/accountName'
- $ref: '#/parameters/projectSlug'
get:
tags:
- Project
operationId: getProjectLastBuild
summary: Get project last build
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#get-project-last-build'
security: []
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/ProjectBuildResults'
examples:
application/json:
project:
projectId: 38907
accountId: 2
accountName: appvyr
builds: []
name: nuget-test
slug: nuget-test
repositoryType: gitHub
repositoryScm: git
repositoryName: FeodorFitsner/nuget-test
repositoryBranch: master
isPrivate: false
skipBranchesWithoutAppveyorYml: false
nuGetFeed:
id: nuget-test-23spw2w
name: Project nuget-test
publishingEnabled: false
created: '2014-07-19T10:23:05.5160273+00:00'
securityDescriptor: {}
created: '2014-07-19T10:23:03.8005134+00:00'
updated: '2014-08-01T05:25:15.4119745+00:00'
build:
buildId: 134173
jobs:
- jobId: 9r2qufuu8
name: ''
allowFailure: false
messagesCount: 0
compilationMessagesCount: 0
compilationErrorsCount: 0
compilationWarningsCount: 0
testsCount: 0
passedTestsCount: 0
failedTestsCount: 0
artifactsCount: 0
status: success
started: '2014-08-14T05:41:49.1061831+00:00'
finished: '2014-08-14T05:42:45.1102797+00:00'
created: '2014-08-14T05:39:27.3902557+00:00'
updated: '2014-08-14T05:42:45.477213+00:00'
buildNumber: 45
version: 1.0.45
message: AssemblyInfo patching
branch: master
commitId: 85da1fb810ae89744abad83e75c13483dd740258
authorName: Feodor Fitsner
authorUsername: FeodorFitsner
committerName: Feodor Fitsner
committerUsername: FeodorFitsner
committed: '2014-07-03T07:56:15+00:00'
messages: []
status: success
started: '2014-08-14T05:41:49.1686804+00:00'
finished: '2014-08-14T05:42:45.5709599+00:00'
created: '2014-08-14T05:39:26.2946368+00:00'
updated: '2014-08-14T05:42:45.5709599+00:00'
delete:
tags:
- Project
operationId: deleteProject
summary: Delete project
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#delete-project'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
/projects/{accountName}/{projectSlug}/branch/{buildBranch}:
parameters:
- $ref: '#/parameters/accountName'
- $ref: '#/parameters/projectSlug'
- $ref: '#/parameters/buildBranch'
get:
tags:
- Project
operationId: getProjectLastBuildBranch
summary: Get project last branch build
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#get-project-last-branch-build'
security: []
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/ProjectBuildResults'
# FIXME: Same example as /api/projects/{accountName}/{projectSlug}
examples:
application/json:
project:
projectId: 38907
accountId: 2
accountName: appvyr
builds: []
name: nuget-test
slug: nuget-test
repositoryType: gitHub
repositoryScm: git
repositoryName: FeodorFitsner/nuget-test
repositoryBranch: master
isPrivate: false
skipBranchesWithoutAppveyorYml: false
nuGetFeed:
id: nuget-test-23spw2w
name: Project nuget-test
publishingEnabled: false
created: '2014-07-19T10:23:05.5160273+00:00'
securityDescriptor: {}
created: '2014-07-19T10:23:03.8005134+00:00'
updated: '2014-08-01T05:25:15.4119745+00:00'
build:
buildId: 134173
jobs:
- jobId: 9r2qufuu8
name: ''
allowFailure: false
messagesCount: 0
compilationMessagesCount: 0
compilationErrorsCount: 0
compilationWarningsCount: 0
testsCount: 0
passedTestsCount: 0
failedTestsCount: 0
artifactsCount: 0
status: success
started: '2014-08-14T05:41:49.1061831+00:00'
finished: '2014-08-14T05:42:45.1102797+00:00'
created: '2014-08-14T05:39:27.3902557+00:00'
updated: '2014-08-14T05:42:45.477213+00:00'
buildNumber: 45
version: 1.0.45
message: AssemblyInfo patching
branch: master
commitId: 85da1fb810ae89744abad83e75c13483dd740258
authorName: Feodor Fitsner
authorUsername: FeodorFitsner
committerName: Feodor Fitsner
committerUsername: FeodorFitsner
committed: '2014-07-03T07:56:15+00:00'
messages: []
status: success
started: '2014-08-14T05:41:49.1686804+00:00'
finished: '2014-08-14T05:42:45.5709599+00:00'
created: '2014-08-14T05:39:26.2946368+00:00'
updated: '2014-08-14T05:42:45.5709599+00:00'
/projects/{accountName}/{projectSlug}/build/{buildVersion}:
parameters:
- $ref: '#/parameters/accountName'
- $ref: '#/parameters/projectSlug'
- $ref: '#/parameters/buildVersion'
get:
tags:
- Project
operationId: getProjectBuildByVersion
summary: Get project build by version
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#get-project-build-by-version'
security: []
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/ProjectBuildResults'
# FIXME: Same example as /api/projects/{accountName}/{projectSlug}
examples:
application/json:
project:
projectId: 38907
accountId: 2
accountName: appvyr
builds: []
name: nuget-test
slug: nuget-test
repositoryType: gitHub
repositoryScm: git
repositoryName: FeodorFitsner/nuget-test
repositoryBranch: master
isPrivate: false
skipBranchesWithoutAppveyorYml: false
nuGetFeed:
id: nuget-test-23spw2w
name: Project nuget-test
publishingEnabled: false
created: '2014-07-19T10:23:05.5160273+00:00'
securityDescriptor: {}
created: '2014-07-19T10:23:03.8005134+00:00'
updated: '2014-08-01T05:25:15.4119745+00:00'
build:
buildId: 134173
jobs:
- jobId: 9r2qufuu8
name: ''
allowFailure: false
messagesCount: 0
compilationMessagesCount: 0
compilationErrorsCount: 0
compilationWarningsCount: 0
testsCount: 0
passedTestsCount: 0
failedTestsCount: 0
artifactsCount: 0
status: success
started: '2014-08-14T05:41:49.1061831+00:00'
finished: '2014-08-14T05:42:45.1102797+00:00'
created: '2014-08-14T05:39:27.3902557+00:00'
updated: '2014-08-14T05:42:45.477213+00:00'
buildNumber: 45
version: 1.0.45
message: AssemblyInfo patching
branch: master
commitId: 85da1fb810ae89744abad83e75c13483dd740258
authorName: Feodor Fitsner
authorUsername: FeodorFitsner
committerName: Feodor Fitsner
committerUsername: FeodorFitsner
committed: '2014-07-03T07:56:15+00:00'
messages: []
status: success
started: '2014-08-14T05:41:49.1686804+00:00'
finished: '2014-08-14T05:42:45.5709599+00:00'
created: '2014-08-14T05:39:26.2946368+00:00'
updated: '2014-08-14T05:42:45.5709599+00:00'
/projects/{accountName}/{projectSlug}/history:
parameters:
- $ref: '#/parameters/accountName'
- $ref: '#/parameters/projectSlug'
get:
tags:
- Project
operationId: getProjectHistory
summary: Get project history
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#get-project-history'
security: []
parameters:
- $ref: '#/parameters/recordsNumber'
- $ref: '#/parameters/startBuildId'
- $ref: '#/parameters/branch'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/ProjectHistory'
examples:
application/json:
project:
projectId: 42438
accountId: 2
accountName: appvyr
builds: []
name: wix-test
slug: wix-test
repositoryType: gitHub
repositoryScm: git
repositoryName: FeodorFitsner/wix-test
isPrivate: false
skipBranchesWithoutAppveyorYml: false
created: '2014-08-09T00:30:43.3327131+00:00'
builds:
- buildId: 134174
jobs: []
buildNumber: 5
version: 1.0.5
message: Enabled diag mode
branch: master
commitId: d19740243e3ec5497345de0f7d828e66a7cd1a6b
authorName: Feodor Fitsner
authorUsername: FeodorFitsner
committerName: Feodor Fitsner
committerUsername: FeodorFitsner
committed: '2014-08-10T14:08:16+00:00'
messages: []
status: success
started: '2014-08-14T05:42:17.2696755+00:00'
finished: '2014-08-14T05:43:47.4732355+00:00'
created: '2014-08-14T05:39:30.8845902+00:00'
updated: '2014-08-14T05:43:47.4732355+00:00'
- buildId: 129289
jobs: []
buildNumber: 3
version: 1.0.3
message: Added appveyor.yml
branch: master
commitId: 28c6eec932c0e21eca5bb5571a722f850aa8bf6f
authorName: Feodor Fitsner
authorUsername: FeodorFitsner
committerName: Feodor Fitsner
committerUsername: FeodorFitsner
committed: '2014-08-09T00:33:34+00:00'
messages: []
status: success
started: '2014-08-09T15:42:45.7878479+00:00'
finished: '2014-08-09T15:44:15.5828009+00:00'
created: '2014-08-09T15:42:38.8315273+00:00'
updated: '2014-08-09T15:44:15.5828009+00:00'
/projects/{accountName}/{projectSlug}/artifacts/{artifactFileName}:
parameters:
- $ref: '#/parameters/accountName'
- $ref: '#/parameters/projectSlug'
- $ref: '#/parameters/artifactFileName'
- $ref: '#/parameters/branch'
- $ref: '#/parameters/tag'
- $ref: '#/parameters/job'
- $ref: '#/parameters/all'
- $ref: '#/parameters/pr'
get:
tags:
- Project
operationId: getProjectArtifact
summary: Get last successful build artifact
description: |-
The `job` parameter is mandatory if the build contains multiple jobs.
externalDocs:
url: 'https://www.appveyor.com/docs/packaging-artifacts/#permalink-to-the-last-successful-build-artifact'
security: []
produces:
# Note: API does not currently guess artifact content type.
# All are sent as application/octet-stream
- application/octet-stream
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: file
/projects/{accountName}/{projectSlug}/deployments:
parameters:
- $ref: '#/parameters/accountName'
- $ref: '#/parameters/projectSlug'
get:
tags:
- Project
operationId: getProjectDeployments
summary: Get project deployments
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#get-project-deployments'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/ProjectDeploymentsResults'
examples:
application/json:
project:
projectId: 22321
accountId: 2
accountName: appvyr
builds: []
name: simple-web
slug: simple-web
repositoryType: gitHub
repositoryScm: git
repositoryName: AppVeyor/simple-web
isPrivate: false
skipBranchesWithoutAppveyorYml: false
securityDescriptor: {}
created: '2014-05-08T18:38:57.9163293+00:00'
updated: '2014-07-14T10:16:26.9351867+00:00'
deployments:
- environment:
deploymentEnvironmentId: 27
name: agent test
provider: Agent
created: '2014-04-01T17:56:41.30982+00:00'
updated: '2014-08-12T22:35:51.9723883+00:00'
deployment:
deploymentId: 19475
build:
buildId: 132746
jobs: []
buildNumber: 38
version: 1.0.38
message: Removed Start-Website
branch: master
commitId: c397ba5d17dd17b994375405f560e4922207da1e
authorName: Feodor Fitsner
authorUsername: FeodorFitsner
committerName: Feodor Fitsner
committerUsername: FeodorFitsner
committed: '2014-08-12T22:56:00+00:00'
messages: []
status: success
started: '2014-08-12T22:56:25.8575967+00:00'
finished: '2014-08-12T22:58:05.7595508+00:00'
created: '2014-08-12T22:56:09.9208493+00:00'
updated: '2014-08-12T22:58:05.7595508+00:00'
environment:
deploymentEnvironmentId: 27
name: agent test
provider: Agent
created: '2014-04-01T17:56:41.30982+00:00'
updated: '2014-08-12T22:35:51.9723883+00:00'
jobs:
- jobId: jnpbcc77s4w278e4
name: Deployment
messagesCount: 0
status: success
started: '2014-08-12T23:06:10.8776088+00:00'
finished: '2014-08-12T23:06:24.3361102+00:00'
created: '2014-08-12T23:06:07.9009315+00:00'
updated: '2014-08-12T23:06:24.9390847+00:00'
- jobId: nbgyf7pn65d4agyr
name: TEST-AGENT-DEPL
messagesCount: 0
status: success
started: '2014-08-12T23:06:14.8148958+00:00'
finished: '2014-08-12T23:06:21.9647266+00:00'
created: '2014-08-12T23:06:14.8148958+00:00'
updated: '2014-08-12T23:06:22.3768791+00:00'
status: success
started: '2014-08-12T23:06:10.8776088+00:00'
finished: '2014-08-12T23:06:25.0502019+00:00'
created: '2014-08-12T23:06:07.9009315+00:00'
updated: '2014-08-12T23:06:25.0502019+00:00'
/projects/{accountName}/{projectSlug}/settings:
parameters:
- $ref: '#/parameters/accountName'
- $ref: '#/parameters/projectSlug'
get:
tags:
- Project
operationId: getProjectSettings
summary: Get project settings
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#get-project-settings'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/ProjectSettingsResults'
examples:
application/json:
project:
projectId: 22321
accountId: 2
accountName: appvyr
builds: []
name: simple-web
slug: simple-web
repositoryType: gitHub
repositoryScm: git
repositoryName: AppVeyor/simple-web
isPrivate: false
skipBranchesWithoutAppveyorYml: false
securityDescriptor:
accessRightDefinitions:
- name: View
description: View
- name: RunBuild
description: Run build
- name: Update
description: Update settings
- name: Delete
description: Delete project
roleAces:
- roleId: 4
name: Administrator
isAdmin: true
accessRights:
- name: View
allowed: true
- name: RunBuild
allowed: true
- name: Update
allowed: true
- name: Delete
allowed: true
- roleId: 5
name: User
isAdmin: false
accessRights:
- name: View
- name: RunBuild
- name: Update
- name: Delete
created: '2014-05-08T18:38:57.9163293+00:00'
updated: '2014-07-14T10:16:26.9351867+00:00'
settings:
projectId: 22321
accountId: 2
accountName: appvyr
builds: []
name: simple-web
slug: simple-web
versionFormat: 1.0.{build}
nextBuildNumber: 41
repositoryType: gitHub
repositoryScm: git
repositoryName: AppVeyor/simple-web
repositoryBranch: master
webhookId: k783di7br
webhookUrl: https://ci.appveyor.com/api/github/webhook?id=k783di7br
isPrivate: false
ignoreAppveyorYml: false
skipBranchesWithoutAppveyorYml: false
configuration:
initScripts: []
includeBranches: []
excludeBranches: []
onBuildSuccessScripts: []
onBuildErrorScripts: []
patchAssemblyInfo: false
assemblyInfoFile: '**\AssemblyInfo.*'
assemblyVersionFormat: '{version}'
assemblyFileVersionFormat: '{version}'
assemblyInformationalVersionFormat: '{version}'
operatingSystem: []
services: []
shallowClone: false
environmentVariables: []
environmentVariablesMatrix: []
installScripts: []
hostsEntries: []
buildMode: msbuild
platform: []
configuration: []
packageWebApplicationProjects: false
packageWebApplicationProjectsXCopy: false
packageAzureCloudServiceProjects: false
packageNuGetProjects: false
msBuildVerbosity: minimal
buildScripts: []
beforeBuildScripts: []
afterBuildScripts: []
testMode: auto
testAssemblies: []
testCategories: []
testCategoriesMatrix: []
testScripts: []
beforeTestScripts: []
afterTestScripts: []
deployMode: providers
deployments: []
deployScripts: []
beforeDeployScripts: []
afterDeployScripts: []
matrixFastFinish: false
matrixAllowFailures: []
artifacts: []
notifications: []
nuGetFeed:
id: simple-web-0r50wgb1st6q
name: Project simple-web
publishingEnabled: false
created: '2014-05-08T18:38:59.2455842+00:00'
securityDescriptor:
accessRightDefinitions:
- name: View
description: View
- name: RunBuild
description: Run build
- name: Update
description: Update settings
- name: Delete
description: Delete project
roleAces:
- roleId: 4
name: Administrator
isAdmin: true
accessRights:
- name: View
allowed: true
- name: RunBuild
allowed: true
- name: Update
allowed: true
- name: Delete
allowed: true
- roleId: 5
name: User
isAdmin: false
accessRights:
- name: View
- name: RunBuild
- name: Update
- name: Delete
created: '2014-05-08T18:38:57.9163293+00:00'
updated: '2014-07-14T10:16:26.9351867+00:00'
images:
- name: test-win2012-r2
- name: Windows Server 2012
- name: Windows Server 2012 R2
/projects/{accountName}/{projectSlug}/settings/yaml:
parameters:
- $ref: '#/parameters/accountName'
- $ref: '#/parameters/projectSlug'
get:
tags:
- Project
operationId: getProjectSettingsYaml
summary: Get project settings in YAML
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#get-project-settings-in-yaml'
produces:
- text/plain
responses:
default:
$ref: '#/responses/Error'
'200':
description: |
Success
The schema type of this response could be specified as `file` to
denote opaque binary data. The generated Java code for `file`
saves the response as a temporary file, making it a little more
difficult to use and less efficient for common cases. If `string`
causes problems for other generators, can switch to `file` type.
schema:
type: string
examples:
text/plain: |
version: 1.0.{build}
build:
project: MySolution.sln
verbosity: minimal
publish_wap: true
...
put:
tags:
- Project
operationId: updateProjectSettingsYaml
summary: Update project settings in YAML
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#update-project-settings-in-yaml'
consumes:
- text/plain
parameters:
- name: body
in: body
description: |
The body of requests should contain YAML data. It is unclear how
to specify this since the OpenAPI spec requires `schema` without
`type` for `in: body` parameters and does not allow `type: file` in
`schema`. See https://github.com/OAI/OpenAPI-Specification/issues/326
swagger-codegen (for Java, probably others) allows a binary
string body parameter with non-application/json `consumes` to be
passed through in the request body without conversion to JSON.
schema:
type: string
format: binary
required: true
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
/projects/{accountName}/{projectSlug}/settings/build-number:
parameters:
- $ref: '#/parameters/accountName'
- $ref: '#/parameters/projectSlug'
put:
tags:
- Project
operationId: updateProjectBuildNumber
summary: Update project build number
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#update-project-build-number'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/ProjectBuildNumberUpdate'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
/projects/{accountName}/{projectSlug}/settings/environment-variables:
parameters:
- $ref: '#/parameters/accountName'
- $ref: '#/parameters/projectSlug'
get:
tags:
- Project
operationId: getProjectEnvironmentVariables
summary: Get project environment variables
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#get-project-environment-variables'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: array
items:
$ref: '#/definitions/StoredNameValue'
examples:
application/json:
- name: api_key
value:
isEncrypted: true
value: very-secret-key-in-clear-text
- name: var1
value:
isEncrypted: false
value: current-value
put:
tags:
- Project
operationId: updateProjectEnvironmentVariables
summary: Update project environment variables
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#update-project-environment-variables'
parameters:
- name: body
in: body
required: true
schema:
type: array
items:
$ref: '#/definitions/StoredNameValue'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
/projects/{accountName}/{projectSlug}/buildcache:
parameters:
- $ref: '#/parameters/accountName'
- $ref: '#/parameters/projectSlug'
delete:
tags:
- Project
operationId: deleteProjectBuildCache
summary: Delete project build cache
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#delete-project-build-cache'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
/projects/status/{statusBadgeId}:
parameters:
- $ref: '#/parameters/statusBadgeId'
get:
tags:
- Project
operationId: getProjectStatusBadge
summary: Get project status badge image
externalDocs:
url: https://www.appveyor.com/docs/status-badges/
security: []
parameters:
- $ref: '#/parameters/svg'
- $ref: '#/parameters/retina'
- $ref: '#/parameters/passingText'
- $ref: '#/parameters/failingText'
- $ref: '#/parameters/pendingText'
produces:
- image/svg+xml
- image/png
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: file
/projects/status/{statusBadgeId}/branch/{buildBranch}:
parameters:
- $ref: '#/parameters/statusBadgeId'
- $ref: '#/parameters/buildBranch'
get:
tags:
- Project
operationId: getProjectBranchStatusBadge
summary: Get project branch status badge image
externalDocs:
url: https://www.appveyor.com/docs/status-badges/
security: []
parameters:
- $ref: '#/parameters/svg'
- $ref: '#/parameters/retina'
- $ref: '#/parameters/passingText'
- $ref: '#/parameters/failingText'
- $ref: '#/parameters/pendingText'
produces:
- image/svg+xml
- image/png
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: file
/projects/status/{badgeRepoProvider}/{repoAccountName}/{repoSlug}:
parameters:
- $ref: '#/parameters/badgeRepoProvider'
- $ref: '#/parameters/repoAccountName'
- $ref: '#/parameters/repoSlug'
get:
tags:
- Project
operationId: getPublicProjectStatusBadge
summary: Get status badge image for a project with a public repository
externalDocs:
url: https://www.appveyor.com/docs/status-badges/
security: []
parameters:
- $ref: '#/parameters/branch'
- $ref: '#/parameters/svg'
- $ref: '#/parameters/retina'
- $ref: '#/parameters/passingText'
- $ref: '#/parameters/failingText'
- $ref: '#/parameters/pendingText'
produces:
- image/svg+xml
- image/png
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: file
### Project }}}
### {{{ Build
/builds:
post:
tags:
- Build
operationId: startBuild
summary: Start build of branch most recent commit
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#start-build-of-branch-most-recent-commit'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/BuildStartRequest'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/Build'
examples:
application/json:
buildId: 136709
jobs: []
buildNumber: 7
version: 1.0.7
message: replaced with command [skip ci]
branch: master
commitId: c2892a70d60c96c1b65a7c665ab806b7731fea8a
authorName: Feodor Fitsner
authorUsername: FeodorFitsner
committerName: Feodor Fitsner
committerUsername: FeodorFitsner
committed: '2014-08-15T22:05:54+00:00'
messages: []
status: queued
created: '2014-08-16T00:40:38.1703914+00:00'
/builds/{accountName}/{projectSlug}/{buildVersion}:
parameters:
- $ref: '#/parameters/accountName'
- $ref: '#/parameters/projectSlug'
- $ref: '#/parameters/buildVersion'
delete:
tags:
- Build
operationId: cancelBuild
summary: Cancel build
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#cancel-build'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
/buildjobs/{jobId}/artifacts:
parameters:
- $ref: '#/parameters/jobId'
get:
tags:
- Build
operationId: getBuildArtifacts
summary: Get build artifacts
externalDocs:
url: 'https://www.appveyor.com/docs/api/samples/download-artifacts-advanced-ps/'
security: []
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: array
items:
$ref: '#/definitions/ArtifactModel'
examples:
application/json:
- fileName: README.md
name: README.md
type: File
size: 3600
- fileName: out/example.Release.x64.zip
name: out\example.zip
type: Zip
size: 15600
/buildjobs/{jobId}/artifacts/{artifactFileName}:
parameters:
- $ref: '#/parameters/jobId'
- $ref: '#/parameters/artifactFileName'
get:
tags:
- Build
operationId: getBuildArtifact
summary: Download build artifact
externalDocs:
url: 'https://www.appveyor.com/docs/api/samples/download-artifacts-advanced-ps/'
security: []
produces:
# Note: API does not currently guess artifact content type.
# All are sent as application/octet-stream
- application/octet-stream
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: file
/buildjobs/{jobId}/log:
parameters:
- $ref: '#/parameters/jobId'
get:
tags:
- Build
operationId: getBuildLog
summary: Download build log
externalDocs:
url: 'https://www.appveyor.com/docs/api/projects-builds/#download-build-log'
security: []
produces:
# Note: Should be text/plain, but server always sends as octet-stream.
- application/octet-stream
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: file
### Build }}}
### {{{ Environment
/environments:
get:
tags:
- Environment
operationId: getEnvironments
summary: Get environments
externalDocs:
url: 'https://www.appveyor.com/docs/api/environments-deployments/#get-environments'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
type: array
items:
$ref: '#/definitions/DeploymentEnvironmentLookupModel'
examples:
application/json:
- deploymentEnvironmentId: 14
name: azure-blob-1
provider: AzureBlob
- deploymentEnvironmentId: 12
name: azure-deploy-test
provider: AzureCS
post:
tags:
- Environment
operationId: addEnvironment
summary: Add environment
externalDocs:
url: 'https://www.appveyor.com/docs/api/environments-deployments/#add-environment'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/DeploymentEnvironmentAddition'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/DeploymentEnvironmentWithSettings'
examples:
application/json:
deploymentEnvironmentId: 3018
name: production
provider: FTP
environmentAccessKey: gi3ttevuk7a123
settings:
providerSettings:
- name: server
value:
isEncrypted: false
value: ftp.myserver.com
- name: username
value:
isEncrypted: false
value: ftp-user
- name: password
value:
isEncrypted: true
value: password
environmentVariables:
- name: my-var
value:
isEncrypted: false
value: '123'
created: '2014-08-15T23:57:16.1585268+00:00'
put:
tags:
- Environment
operationId: updateEnvironment
summary: Update environment
externalDocs:
url: 'https://www.appveyor.com/docs/api/environments-deployments/#update-environment'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/DeploymentEnvironmentWithSettings'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/DeploymentEnvironmentWithSettings'
examples:
application/json:
deploymentEnvironmentId: 3018
name: production
provider: FTP
environmentAccessKey: gi3ttevuk7123
settings:
providerSettings:
- name: server
value:
isEncrypted: false
value: ftp.myserver.com
- name: username
value:
isEncrypted: false
value: ftp-user
- name: password
value:
isEncrypted: true
value: password
environmentVariables:
- name: my-var
value:
isEncrypted: false
value: '123'
created: '2014-08-15T23:57:16.1585268+00:00'
updated: '2014-08-16T00:00:37.6079863+00:00'
/environments/{deploymentEnvironmentId}/settings:
parameters:
- $ref: '#/parameters/deploymentEnvironmentId'
get:
tags:
- Environment
operationId: getEnvironmentSettings
summary: Get environment settings
externalDocs:
url: 'https://www.appveyor.com/docs/api/environments-deployments/#get-environment-settings'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/DeploymentEnvironmentSettingsResults'
examples:
application/json:
environment:
deploymentEnvironmentId: 14
name: azure-blob-1
provider: AzureBlob
environmentAccessKey: aaabbb12345
settings:
providerSettings:
- name: storage_account_name
value:
isEncrypted: false
value: myaccount
- name: storage_access_key
value:
isEncrypted: true
value: 4sc1c7/Qp5buQcZ8N486Ks46mLFbXJVqcJjyv98w==
- name: container
value:
isEncrypted: false
value: test
- name: folder
value:
isEncrypted: false
value: $(appveyor_build_version)
- name: artifact
value:
isEncrypted: false
environmentVariables: []
created: '2014-01-23T18:13:52.2268502+00:00'
updated: '2014-06-02T18:13:32.5106126+00:00'
/environments/{deploymentEnvironmentId}/deployments:
parameters:
- $ref: '#/parameters/deploymentEnvironmentId'
get:
tags:
- Environment
operationId: getEnvironmentDeployments
summary: Get environment deployments
externalDocs:
url: 'https://www.appveyor.com/docs/api/environments-deployments/#get-environment-deployments'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/DeploymentEnvironmentDeploymentsResults'
examples:
application/json:
environment:
deploymentEnvironmentId: 14
name: azure-blob-1
provider: AzureBlob
created: '2014-01-23T18:13:52.2268502+00:00'
updated: '2014-06-02T18:13:32.5106126+00:00'
deployments:
- project:
projectId: 15072
accountId: 2
accountName: FeodorFitsner
builds: []
name: simple-web
slug: simple-web
repositoryType: gitHub
repositoryScm: git
repositoryName: AppVeyor/simple-web
isPrivate: false
skipBranchesWithoutAppveyorYml: false
securityDescriptor: {}
created: '2014-05-06T16:38:14.7788393+00:00'
updated: '2014-06-02T21:37:30.9378043+00:00'
deployment:
deploymentId: 4120
build:
buildId: 18665
jobs: []
buildNumber: 25
version: 1.0.25
message: 'Merge pull request #3 from FeodorFitsner/master'
messageExtended: Changes to AccountController
branch: master
commitId: ed40bd27f732d162b2185d75921b1cd57191f83b
authorName: Feodor Fitsner
authorUsername: FeodorFitsner
committerName: Feodor Fitsner
committerUsername: FeodorFitsner
committed: '2014-05-08T19:11:38+00:00'
messages: []
status: success
started: '2014-05-22T20:12:11.4475134+00:00'
finished: '2014-05-22T20:12:33.7806881+00:00'
created: '2014-05-22T20:09:53.759355+00:00'
updated: '2014-05-22T20:12:33.7806881+00:00'
environment:
deploymentEnvironmentId: 14
name: azure-blob-1
provider: AzureBlob
created: '2014-01-23T18:13:52.2268502+00:00'
updated: '2014-06-02T18:13:32.5106126+00:00'
jobs:
- jobId: 1696fh3a2w5ng99y
name: Deployment
messagesCount: 0
status: success
started: '2014-07-27T09:59:58.3955159+00:00'
finished: '2014-07-27T10:00:11.5995296+00:00'
created: '2014-07-27T09:59:57.0171035+00:00'
updated: '2014-07-27T10:00:16.163082+00:00'
status: success
started: '2014-06-02T18:20:07.9871288+00:00'
finished: '2014-06-02T18:20:25.11916+00:00'
created: '2014-06-02T18:20:07.2833871+00:00'
updated: '2014-06-02T18:20:25.11916+00:00'
/environments/{deploymentEnvironmentId}:
parameters:
- $ref: '#/parameters/deploymentEnvironmentId'
delete:
tags:
- Environment
operationId: deleteEnvironment
summary: Delete environment
externalDocs:
url: 'https://www.appveyor.com/docs/api/environments-deployments/#delete-environment'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
### Environment }}}
### {{{ Deployment
/deployments/{deploymentId}:
parameters:
- $ref: '#/parameters/deploymentId'
get:
tags:
- Deployment
operationId: getDeployment
summary: Get deployment
externalDocs:
url: 'https://www.appveyor.com/docs/api/environments-deployments/#get-deployment'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/ProjectDeployment'
examples:
application/json:
project:
projectId: 22321
accountId: 2
accountName: appvyr
builds: []
name: simple-web
slug: simple-web
repositoryType: gitHub
repositoryScm: git
repositoryName: AppVeyor/simple-web
isPrivate: false
skipBranchesWithoutAppveyorYml: false
securityDescriptor: {}
created: '2014-05-08T18:38:57.9163293+00:00'
updated: '2014-07-14T10:16:26.9351867+00:00'
deployment:
deploymentId: 19475
build:
buildId: 132746
jobs: []
buildNumber: 38
version: 1.0.38
message: Removed Start-Website
branch: master
commitId: c397ba5d17dd17b994375405f560e4922207da1e
authorName: Feodor Fitsner
authorUsername: FeodorFitsner
committerName: Feodor Fitsner
committerUsername: FeodorFitsner
committed: '2014-08-12T22:56:00+00:00'
messages: []
status: success
started: '2014-08-12T22:56:25.8575967+00:00'
finished: '2014-08-12T22:58:05.7595508+00:00'
created: '2014-08-12T22:56:09.9208493+00:00'
updated: '2014-08-12T22:58:05.7595508+00:00'
environment:
deploymentEnvironmentId: 27
name: agent test
provider: Agent
created: '2014-04-01T17:56:41.30982+00:00'
updated: '2014-08-12T22:35:51.9723883+00:00'
jobs:
- jobId: jnpbcc77s4w278e4
name: Deployment
messagesCount: 0
status: success
started: '2014-08-12T23:06:10.8776088+00:00'
finished: '2014-08-12T23:06:24.3361102+00:00'
created: '2014-08-12T23:06:07.9009315+00:00'
updated: '2014-08-12T23:06:24.9390847+00:00'
status: success
started: '2014-08-12T23:06:10.8776088+00:00'
finished: '2014-08-12T23:06:25.0502019+00:00'
created: '2014-08-12T23:06:07.9009315+00:00'
updated: '2014-08-12T23:06:25.0502019+00:00'
/deployments:
post:
tags:
- Deployment
operationId: startDeployment
summary: Start deployment
externalDocs:
url: 'https://www.appveyor.com/docs/api/environments-deployments/#start-deployment'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/DeploymentStartRequest'
responses:
default:
$ref: '#/responses/Error'
'200':
description: Success
schema:
$ref: '#/definitions/Deployment'
examples:
application/json:
deploymentId: 19475
build:
buildId: 132746
jobs: []
buildNumber: 38
version: 1.0.38
message: Removed Start-Website
branch: master
commitId: c397ba5d17dd17b994375405f560e4922207da1e
authorName: Feodor Fitsner
authorUsername: FeodorFitsner
committerName: Feodor Fitsner
committerUsername: FeodorFitsner
committed: '2014-08-12T22:56:00+00:00'
messages: []
status: success
started: '2014-08-12T22:56:25.8575967+00:00'
finished: '2014-08-12T22:58:05.7595508+00:00'
created: '2014-08-12T22:56:09.9208493+00:00'
updated: '2014-08-12T22:58:05.7595508+00:00'
environment:
deploymentEnvironmentId: 27
name: agent test
provider: Agent
created: '2014-04-01T17:56:41.30982+00:00'
updated: '2014-08-12T22:35:51.9723883+00:00'
jobs:
- jobId: jnpbcc77s4w278e4
name: Deployment
messagesCount: 0
status: success
started: '2014-08-12T23:06:10.8776088+00:00'
finished: '2014-08-12T23:06:24.3361102+00:00'
created: '2014-08-12T23:06:07.9009315+00:00'
updated: '2014-08-12T23:06:24.9390847+00:00'
status: success
started: '2014-08-12T23:06:10.8776088+00:00'
finished: '2014-08-12T23:06:25.0502019+00:00'
created: '2014-08-12T23:06:07.9009315+00:00'
updated: '2014-08-12T23:06:25.0502019+00:00'
/deployments/stop:
delete:
tags:
- Deployment
operationId: cancelDeployment
summary: Cancel deployment
externalDocs:
url: 'https://www.appveyor.com/docs/api/environments-deployments/#cancel-deployment'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/DeploymentCancellation'
responses:
default:
$ref: '#/responses/Error'
'204':
description: Success
### Deployment }}}
# vim: set foldmethod=marker :
© 2015 - 2025 Weber Informatics LLC | Privacy Policy