RSpec: Define a single integration context
What does this MR do and why?
Instead of defining a shared context per integration name on load time
we now define a single integration context "with integration" during
runtime which relies on a let
binding integration
.
This sidesteps a problem where feature flags were not (yet) stubbed during load time.
See #386731 (closed).
This MR also fixed all spec/support/shared_contexts/features/integrations/integrations_shared_context.rb
.
💡 Review tip
Best reviewed with whitespace changes:
[ ] Show whitespace changes |
---|
How to set up and validate locally
bin/rspec --format documentation spec/requests/api/integrations_spec.rb
bundle exec rubocop spec/support/shared_contexts/features/integrations/integrations_shared_context.rb
Before
806 examples, 0 failures
Click to expand
Run options: include {:focus=>true}
All examples were filtered out; ignoring {:focus=>true}
==> Starting GitLab Elasticsearch Indexer (4.3.0) set up...
==> GitLab Elasticsearch Indexer set up in 41.035071567 seconds...
Test environment set up in 48.431594916 seconds
API::Integrations
GET /projects/:id/integrations
returns authentication error when unauthenticated
returns error when authenticated but user is not a project owner
with integrations
returns a list of all active integrations
PUT /projects/:id/integrations/apple-app-store
updates apple_app_store settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/apple-app-store
deletes apple_app_store
GET /projects/:id/integrations/apple-app-store
returns authentication error when unauthenticated
returns all properties of active integration apple_app_store, except password fields
returns all properties of inactive integration apple_app_store, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/asana
updates asana settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/asana
deletes asana
GET /projects/:id/integrations/asana
returns authentication error when unauthenticated
returns all properties of active integration asana, except password fields
returns all properties of inactive integration asana, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/assembla
updates assembla settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/assembla
deletes assembla
GET /projects/:id/integrations/assembla
returns authentication error when unauthenticated
returns all properties of active integration assembla, except password fields
returns all properties of inactive integration assembla, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/bamboo
updates bamboo settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/bamboo
deletes bamboo
GET /projects/:id/integrations/bamboo
returns authentication error when unauthenticated
returns all properties of active integration bamboo, except password fields
returns all properties of inactive integration bamboo, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/bugzilla
updates bugzilla settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/bugzilla
deletes bugzilla
GET /projects/:id/integrations/bugzilla
returns authentication error when unauthenticated
returns all properties of active integration bugzilla, except password fields
returns all properties of inactive integration bugzilla, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/buildkite
updates buildkite settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/buildkite
deletes buildkite
GET /projects/:id/integrations/buildkite
returns authentication error when unauthenticated
returns all properties of active integration buildkite, except password fields
returns all properties of inactive integration buildkite, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/campfire
updates campfire settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/campfire
deletes campfire
GET /projects/:id/integrations/campfire
returns authentication error when unauthenticated
returns all properties of active integration campfire, except password fields
returns all properties of inactive integration campfire, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/confluence
updates confluence settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/confluence
deletes confluence
GET /projects/:id/integrations/confluence
returns authentication error when unauthenticated
returns all properties of active integration confluence, except password fields
returns all properties of inactive integration confluence, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/custom-issue-tracker
updates custom_issue_tracker settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/custom-issue-tracker
deletes custom_issue_tracker
GET /projects/:id/integrations/custom-issue-tracker
returns authentication error when unauthenticated
returns all properties of active integration custom_issue_tracker, except password fields
returns all properties of inactive integration custom_issue_tracker, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/datadog
updates datadog settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/datadog
deletes datadog
GET /projects/:id/integrations/datadog
returns authentication error when unauthenticated
returns all properties of active integration datadog, except password fields
returns all properties of inactive integration datadog, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/discord
updates discord settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/discord
deletes discord
GET /projects/:id/integrations/discord
returns authentication error when unauthenticated
returns all properties of active integration discord, except password fields
returns all properties of inactive integration discord, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/drone-ci
updates drone_ci settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/drone-ci
deletes drone_ci
GET /projects/:id/integrations/drone-ci
returns authentication error when unauthenticated
returns all properties of active integration drone_ci, except password fields
returns all properties of inactive integration drone_ci, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/emails-on-push
updates emails_on_push settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/emails-on-push
deletes emails_on_push
GET /projects/:id/integrations/emails-on-push
returns authentication error when unauthenticated
returns all properties of active integration emails_on_push, except password fields
returns all properties of inactive integration emails_on_push, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/ewm
updates ewm settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/ewm
deletes ewm
GET /projects/:id/integrations/ewm
returns authentication error when unauthenticated
returns all properties of active integration ewm, except password fields
returns all properties of inactive integration ewm, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/external-wiki
updates external_wiki settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/external-wiki
deletes external_wiki
GET /projects/:id/integrations/external-wiki
returns authentication error when unauthenticated
returns all properties of active integration external_wiki, except password fields
returns all properties of inactive integration external_wiki, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/github
updates github settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/github
deletes github
GET /projects/:id/integrations/github
returns authentication error when unauthenticated
returns all properties of active integration github, except password fields
returns all properties of inactive integration github, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/google-play
updates google_play settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/google-play
deletes google_play
GET /projects/:id/integrations/google-play
returns authentication error when unauthenticated
returns all properties of active integration google_play, except password fields
returns all properties of inactive integration google_play, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/hangouts-chat
updates hangouts_chat settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/hangouts-chat
deletes hangouts_chat
GET /projects/:id/integrations/hangouts-chat
returns authentication error when unauthenticated
returns all properties of active integration hangouts_chat, except password fields
returns all properties of inactive integration hangouts_chat, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/harbor
updates harbor settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/harbor
deletes harbor
GET /projects/:id/integrations/harbor
returns authentication error when unauthenticated
returns all properties of active integration harbor, except password fields
returns all properties of inactive integration harbor, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/irker
updates irker settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/irker
deletes irker
GET /projects/:id/integrations/irker
returns authentication error when unauthenticated
returns all properties of active integration irker, except password fields
returns all properties of inactive integration irker, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/jenkins
updates jenkins settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/jenkins
deletes jenkins
GET /projects/:id/integrations/jenkins
returns authentication error when unauthenticated
returns all properties of active integration jenkins, except password fields
returns all properties of inactive integration jenkins, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/jira
updates jira settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/jira
deletes jira
GET /projects/:id/integrations/jira
returns authentication error when unauthenticated
returns all properties of active integration jira, except password fields
returns all properties of inactive integration jira, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/mattermost
updates mattermost settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/mattermost
deletes mattermost
GET /projects/:id/integrations/mattermost
returns authentication error when unauthenticated
returns all properties of active integration mattermost, except password fields
returns all properties of inactive integration mattermost, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/mattermost-slash-commands
updates mattermost_slash_commands settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/mattermost-slash-commands
deletes mattermost_slash_commands
GET /projects/:id/integrations/mattermost-slash-commands
returns authentication error when unauthenticated
returns all properties of active integration mattermost_slash_commands, except password fields
returns all properties of inactive integration mattermost_slash_commands, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/microsoft-teams
updates microsoft_teams settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/microsoft-teams
deletes microsoft_teams
GET /projects/:id/integrations/microsoft-teams
returns authentication error when unauthenticated
returns all properties of active integration microsoft_teams, except password fields
returns all properties of inactive integration microsoft_teams, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/mock-ci
updates mock_ci settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/mock-ci
deletes mock_ci
GET /projects/:id/integrations/mock-ci
returns authentication error when unauthenticated
returns all properties of active integration mock_ci, except password fields
returns all properties of inactive integration mock_ci, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/mock-monitoring
updates mock_monitoring settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/mock-monitoring
deletes mock_monitoring
GET /projects/:id/integrations/mock-monitoring
returns authentication error when unauthenticated
returns all properties of active integration mock_monitoring, except password fields
returns all properties of inactive integration mock_monitoring, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/packagist
updates packagist settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/packagist
deletes packagist
GET /projects/:id/integrations/packagist
returns authentication error when unauthenticated
returns all properties of active integration packagist, except password fields
returns all properties of inactive integration packagist, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/pipelines-email
updates pipelines_email settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/pipelines-email
deletes pipelines_email
GET /projects/:id/integrations/pipelines-email
returns authentication error when unauthenticated
returns all properties of active integration pipelines_email, except password fields
returns all properties of inactive integration pipelines_email, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/pivotaltracker
updates pivotaltracker settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/pivotaltracker
deletes pivotaltracker
GET /projects/:id/integrations/pivotaltracker
returns authentication error when unauthenticated
returns all properties of active integration pivotaltracker, except password fields
returns all properties of inactive integration pivotaltracker, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/prometheus
updates prometheus settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/prometheus
deletes prometheus
GET /projects/:id/integrations/prometheus
returns authentication error when unauthenticated
returns all properties of active integration prometheus, except password fields
returns all properties of inactive integration prometheus, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/pumble
updates pumble settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/pumble
deletes pumble
GET /projects/:id/integrations/pumble
returns authentication error when unauthenticated
returns all properties of active integration pumble, except password fields
returns all properties of inactive integration pumble, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/pushover
updates pushover settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/pushover
deletes pushover
GET /projects/:id/integrations/pushover
returns authentication error when unauthenticated
returns all properties of active integration pushover, except password fields
returns all properties of inactive integration pushover, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/redmine
updates redmine settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/redmine
deletes redmine
GET /projects/:id/integrations/redmine
returns authentication error when unauthenticated
returns all properties of active integration redmine, except password fields
returns all properties of inactive integration redmine, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/shimo
updates shimo settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/shimo
deletes shimo
GET /projects/:id/integrations/shimo
returns authentication error when unauthenticated
returns all properties of active integration shimo, except password fields
returns all properties of inactive integration shimo, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/slack
updates slack settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/slack
deletes slack
GET /projects/:id/integrations/slack
returns authentication error when unauthenticated
returns all properties of active integration slack, except password fields
returns all properties of inactive integration slack, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/slack-slash-commands
updates slack_slash_commands settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/slack-slash-commands
deletes slack_slash_commands
GET /projects/:id/integrations/slack-slash-commands
returns authentication error when unauthenticated
returns all properties of active integration slack_slash_commands, except password fields
returns all properties of inactive integration slack_slash_commands, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/squash-tm
updates squash_tm settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/squash-tm
deletes squash_tm
GET /projects/:id/integrations/squash-tm
returns authentication error when unauthenticated
returns all properties of active integration squash_tm, except password fields
returns all properties of inactive integration squash_tm, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/teamcity
updates teamcity settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/teamcity
deletes teamcity
GET /projects/:id/integrations/teamcity
returns authentication error when unauthenticated
returns all properties of active integration teamcity, except password fields
returns all properties of inactive integration teamcity, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/unify-circuit
updates unify_circuit settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/unify-circuit
deletes unify_circuit
GET /projects/:id/integrations/unify-circuit
returns authentication error when unauthenticated
returns all properties of active integration unify_circuit, except password fields
returns all properties of inactive integration unify_circuit, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/webex-teams
updates webex_teams settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/webex-teams
deletes webex_teams
GET /projects/:id/integrations/webex-teams
returns authentication error when unauthenticated
returns all properties of active integration webex_teams, except password fields
returns all properties of inactive integration webex_teams, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/youtrack
updates youtrack settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/youtrack
deletes youtrack
GET /projects/:id/integrations/youtrack
returns authentication error when unauthenticated
returns all properties of active integration youtrack, except password fields
returns all properties of inactive integration youtrack, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/integrations/zentao
updates zentao settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/zentao
deletes zentao
GET /projects/:id/integrations/zentao
returns authentication error when unauthenticated
returns all properties of active integration zentao, except password fields
returns all properties of inactive integration zentao, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
POST /projects/:id/integrations/:slug/trigger
Mattermost integration
when no integration is available
returns a not found message
when the integration exists
when the integration is not active
when the integration is inactive
when the integration is active
returns status 200
when the project can not be found
returns a generic 404
Slack Integration
returns status 200
Mattermost integration
accepts a username for update
Microsoft Teams integration
accepts branches_to_be_notified for update
accepts notify_only_broken_pipelines for update
Hangouts Chat integration
accepts branches_to_be_notified for update
only requires the webhook param
Jira integration
returns the jira_issue_transition_id for get request
returns the jira_issue_transition_id for put request
Pipelines Email Integration
notify_only_broken_pipelines property was saved as a string
returns boolean values for notify_only_broken_pipelines
GET /projects/:id/services
returns authentication error when unauthenticated
returns error when authenticated but user is not a project owner
with integrations
returns a list of all active integrations
PUT /projects/:id/services/apple-app-store
updates apple_app_store settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/apple-app-store
deletes apple_app_store
GET /projects/:id/services/apple-app-store
returns authentication error when unauthenticated
returns all properties of active integration apple_app_store, except password fields
returns all properties of inactive integration apple_app_store, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/asana
updates asana settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/asana
deletes asana
GET /projects/:id/services/asana
returns authentication error when unauthenticated
returns all properties of active integration asana, except password fields
returns all properties of inactive integration asana, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/assembla
updates assembla settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/assembla
deletes assembla
GET /projects/:id/services/assembla
returns authentication error when unauthenticated
returns all properties of active integration assembla, except password fields
returns all properties of inactive integration assembla, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/bamboo
updates bamboo settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/bamboo
deletes bamboo
GET /projects/:id/services/bamboo
returns authentication error when unauthenticated
returns all properties of active integration bamboo, except password fields
returns all properties of inactive integration bamboo, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/bugzilla
updates bugzilla settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/bugzilla
deletes bugzilla
GET /projects/:id/services/bugzilla
returns authentication error when unauthenticated
returns all properties of active integration bugzilla, except password fields
returns all properties of inactive integration bugzilla, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/buildkite
updates buildkite settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/buildkite
deletes buildkite
GET /projects/:id/services/buildkite
returns authentication error when unauthenticated
returns all properties of active integration buildkite, except password fields
returns all properties of inactive integration buildkite, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/campfire
updates campfire settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/campfire
deletes campfire
GET /projects/:id/services/campfire
returns authentication error when unauthenticated
returns all properties of active integration campfire, except password fields
returns all properties of inactive integration campfire, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/confluence
updates confluence settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/confluence
deletes confluence
GET /projects/:id/services/confluence
returns authentication error when unauthenticated
returns all properties of active integration confluence, except password fields
returns all properties of inactive integration confluence, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/custom-issue-tracker
updates custom_issue_tracker settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/custom-issue-tracker
deletes custom_issue_tracker
GET /projects/:id/services/custom-issue-tracker
returns authentication error when unauthenticated
returns all properties of active integration custom_issue_tracker, except password fields
returns all properties of inactive integration custom_issue_tracker, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/datadog
updates datadog settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/datadog
deletes datadog
GET /projects/:id/services/datadog
returns authentication error when unauthenticated
returns all properties of active integration datadog, except password fields
returns all properties of inactive integration datadog, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/discord
updates discord settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/discord
deletes discord
GET /projects/:id/services/discord
returns authentication error when unauthenticated
returns all properties of active integration discord, except password fields
returns all properties of inactive integration discord, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/drone-ci
updates drone_ci settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/drone-ci
deletes drone_ci
GET /projects/:id/services/drone-ci
returns authentication error when unauthenticated
returns all properties of active integration drone_ci, except password fields
returns all properties of inactive integration drone_ci, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/emails-on-push
updates emails_on_push settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/emails-on-push
deletes emails_on_push
GET /projects/:id/services/emails-on-push
returns authentication error when unauthenticated
returns all properties of active integration emails_on_push, except password fields
returns all properties of inactive integration emails_on_push, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/ewm
updates ewm settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/ewm
deletes ewm
GET /projects/:id/services/ewm
returns authentication error when unauthenticated
returns all properties of active integration ewm, except password fields
returns all properties of inactive integration ewm, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/external-wiki
updates external_wiki settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/external-wiki
deletes external_wiki
GET /projects/:id/services/external-wiki
returns authentication error when unauthenticated
returns all properties of active integration external_wiki, except password fields
returns all properties of inactive integration external_wiki, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/github
updates github settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/github
deletes github
GET /projects/:id/services/github
returns authentication error when unauthenticated
returns all properties of active integration github, except password fields
returns all properties of inactive integration github, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/google-play
updates google_play settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/google-play
deletes google_play
GET /projects/:id/services/google-play
returns authentication error when unauthenticated
returns all properties of active integration google_play, except password fields
returns all properties of inactive integration google_play, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/hangouts-chat
updates hangouts_chat settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/hangouts-chat
deletes hangouts_chat
GET /projects/:id/services/hangouts-chat
returns authentication error when unauthenticated
returns all properties of active integration hangouts_chat, except password fields
returns all properties of inactive integration hangouts_chat, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/harbor
updates harbor settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/harbor
deletes harbor
GET /projects/:id/services/harbor
returns authentication error when unauthenticated
returns all properties of active integration harbor, except password fields
returns all properties of inactive integration harbor, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/irker
updates irker settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/irker
deletes irker
GET /projects/:id/services/irker
returns authentication error when unauthenticated
returns all properties of active integration irker, except password fields
returns all properties of inactive integration irker, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/jenkins
updates jenkins settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/jenkins
deletes jenkins
GET /projects/:id/services/jenkins
returns authentication error when unauthenticated
returns all properties of active integration jenkins, except password fields
returns all properties of inactive integration jenkins, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/jira
updates jira settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/jira
deletes jira
GET /projects/:id/services/jira
returns authentication error when unauthenticated
returns all properties of active integration jira, except password fields
returns all properties of inactive integration jira, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/mattermost
updates mattermost settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/mattermost
deletes mattermost
GET /projects/:id/services/mattermost
returns authentication error when unauthenticated
returns all properties of active integration mattermost, except password fields
returns all properties of inactive integration mattermost, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/mattermost-slash-commands
updates mattermost_slash_commands settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/mattermost-slash-commands
deletes mattermost_slash_commands
GET /projects/:id/services/mattermost-slash-commands
returns authentication error when unauthenticated
returns all properties of active integration mattermost_slash_commands, except password fields
returns all properties of inactive integration mattermost_slash_commands, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/microsoft-teams
updates microsoft_teams settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/microsoft-teams
deletes microsoft_teams
GET /projects/:id/services/microsoft-teams
returns authentication error when unauthenticated
returns all properties of active integration microsoft_teams, except password fields
returns all properties of inactive integration microsoft_teams, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/mock-ci
updates mock_ci settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/mock-ci
deletes mock_ci
GET /projects/:id/services/mock-ci
returns authentication error when unauthenticated
returns all properties of active integration mock_ci, except password fields
returns all properties of inactive integration mock_ci, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/mock-monitoring
updates mock_monitoring settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/mock-monitoring
deletes mock_monitoring
GET /projects/:id/services/mock-monitoring
returns authentication error when unauthenticated
returns all properties of active integration mock_monitoring, except password fields
returns all properties of inactive integration mock_monitoring, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/packagist
updates packagist settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/packagist
deletes packagist
GET /projects/:id/services/packagist
returns authentication error when unauthenticated
returns all properties of active integration packagist, except password fields
returns all properties of inactive integration packagist, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/pipelines-email
updates pipelines_email settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/pipelines-email
deletes pipelines_email
GET /projects/:id/services/pipelines-email
returns authentication error when unauthenticated
returns all properties of active integration pipelines_email, except password fields
returns all properties of inactive integration pipelines_email, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/pivotaltracker
updates pivotaltracker settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/pivotaltracker
deletes pivotaltracker
GET /projects/:id/services/pivotaltracker
returns authentication error when unauthenticated
returns all properties of active integration pivotaltracker, except password fields
returns all properties of inactive integration pivotaltracker, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/prometheus
updates prometheus settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/prometheus
deletes prometheus
GET /projects/:id/services/prometheus
returns authentication error when unauthenticated
returns all properties of active integration prometheus, except password fields
returns all properties of inactive integration prometheus, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/pumble
updates pumble settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/pumble
deletes pumble
GET /projects/:id/services/pumble
returns authentication error when unauthenticated
returns all properties of active integration pumble, except password fields
returns all properties of inactive integration pumble, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/pushover
updates pushover settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/pushover
deletes pushover
GET /projects/:id/services/pushover
returns authentication error when unauthenticated
returns all properties of active integration pushover, except password fields
returns all properties of inactive integration pushover, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/redmine
updates redmine settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/redmine
deletes redmine
GET /projects/:id/services/redmine
returns authentication error when unauthenticated
returns all properties of active integration redmine, except password fields
returns all properties of inactive integration redmine, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/shimo
updates shimo settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/shimo
deletes shimo
GET /projects/:id/services/shimo
returns authentication error when unauthenticated
returns all properties of active integration shimo, except password fields
returns all properties of inactive integration shimo, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/slack
updates slack settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/slack
deletes slack
GET /projects/:id/services/slack
returns authentication error when unauthenticated
returns all properties of active integration slack, except password fields
returns all properties of inactive integration slack, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/slack-slash-commands
updates slack_slash_commands settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/slack-slash-commands
deletes slack_slash_commands
GET /projects/:id/services/slack-slash-commands
returns authentication error when unauthenticated
returns all properties of active integration slack_slash_commands, except password fields
returns all properties of inactive integration slack_slash_commands, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/squash-tm
updates squash_tm settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/squash-tm
deletes squash_tm
GET /projects/:id/services/squash-tm
returns authentication error when unauthenticated
returns all properties of active integration squash_tm, except password fields
returns all properties of inactive integration squash_tm, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/teamcity
updates teamcity settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/teamcity
deletes teamcity
GET /projects/:id/services/teamcity
returns authentication error when unauthenticated
returns all properties of active integration teamcity, except password fields
returns all properties of inactive integration teamcity, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/unify-circuit
updates unify_circuit settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/unify-circuit
deletes unify_circuit
GET /projects/:id/services/unify-circuit
returns authentication error when unauthenticated
returns all properties of active integration unify_circuit, except password fields
returns all properties of inactive integration unify_circuit, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/webex-teams
updates webex_teams settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/webex-teams
deletes webex_teams
GET /projects/:id/services/webex-teams
returns authentication error when unauthenticated
returns all properties of active integration webex_teams, except password fields
returns all properties of inactive integration webex_teams, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/youtrack
updates youtrack settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/youtrack
deletes youtrack
GET /projects/:id/services/youtrack
returns authentication error when unauthenticated
returns all properties of active integration youtrack, except password fields
returns all properties of inactive integration youtrack, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
PUT /projects/:id/services/zentao
updates zentao settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/zentao
deletes zentao
GET /projects/:id/services/zentao
returns authentication error when unauthenticated
returns all properties of active integration zentao, except password fields
returns all properties of inactive integration zentao, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
POST /projects/:id/services/:slug/trigger
Mattermost integration
when no integration is available
returns a not found message
when the integration exists
when the integration is not active
when the integration is inactive
when the integration is active
returns status 200
when the project can not be found
returns a generic 404
Slack Integration
returns status 200
Mattermost integration
accepts a username for update
Microsoft Teams integration
accepts branches_to_be_notified for update
accepts notify_only_broken_pipelines for update
Hangouts Chat integration
accepts branches_to_be_notified for update
only requires the webhook param
Jira integration
returns the jira_issue_transition_id for get request
returns the jira_issue_transition_id for put request
Pipelines Email Integration
notify_only_broken_pipelines property was saved as a string
returns boolean values for notify_only_broken_pipelines
Finished in 4 minutes 40.5 seconds (files took 12.14 seconds to load)
806 examples, 0 failures
[TEST PROF INFO] Time spent in factories: 00:23.725 (8.37% of total time)
After
806 examples, 0 failures
Click to expand
Run options: include {:focus=>true}
All examples were filtered out; ignoring {:focus=>true}
Test environment set up in 6.375552356 seconds
API::Integrations
GET /projects/:id/integrations
returns authentication error when unauthenticated
returns error when authenticated but user is not a project owner
with integrations
returns a list of all active integrations
integration: "apple_app_store"
PUT /projects/:id/integrations/apple-app-store
updates apple_app_store settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/apple-app-store
deletes apple_app_store
GET /projects/:id/integrations/apple-app-store
returns authentication error when unauthenticated
returns all properties of active integration apple_app_store, except password fields
returns all properties of inactive integration apple_app_store, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "asana"
PUT /projects/:id/integrations/asana
updates asana settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/asana
deletes asana
GET /projects/:id/integrations/asana
returns authentication error when unauthenticated
returns all properties of active integration asana, except password fields
returns all properties of inactive integration asana, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "assembla"
PUT /projects/:id/integrations/assembla
updates assembla settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/assembla
deletes assembla
GET /projects/:id/integrations/assembla
returns authentication error when unauthenticated
returns all properties of active integration assembla, except password fields
returns all properties of inactive integration assembla, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "bamboo"
PUT /projects/:id/integrations/bamboo
updates bamboo settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/bamboo
deletes bamboo
GET /projects/:id/integrations/bamboo
returns authentication error when unauthenticated
returns all properties of active integration bamboo, except password fields
returns all properties of inactive integration bamboo, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "bugzilla"
PUT /projects/:id/integrations/bugzilla
updates bugzilla settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/bugzilla
deletes bugzilla
GET /projects/:id/integrations/bugzilla
returns authentication error when unauthenticated
returns all properties of active integration bugzilla, except password fields
returns all properties of inactive integration bugzilla, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "buildkite"
PUT /projects/:id/integrations/buildkite
updates buildkite settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/buildkite
deletes buildkite
GET /projects/:id/integrations/buildkite
returns authentication error when unauthenticated
returns all properties of active integration buildkite, except password fields
returns all properties of inactive integration buildkite, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "campfire"
PUT /projects/:id/integrations/campfire
updates campfire settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/campfire
deletes campfire
GET /projects/:id/integrations/campfire
returns authentication error when unauthenticated
returns all properties of active integration campfire, except password fields
returns all properties of inactive integration campfire, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "confluence"
PUT /projects/:id/integrations/confluence
updates confluence settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/confluence
deletes confluence
GET /projects/:id/integrations/confluence
returns authentication error when unauthenticated
returns all properties of active integration confluence, except password fields
returns all properties of inactive integration confluence, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "custom_issue_tracker"
PUT /projects/:id/integrations/custom-issue-tracker
updates custom_issue_tracker settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/custom-issue-tracker
deletes custom_issue_tracker
GET /projects/:id/integrations/custom-issue-tracker
returns authentication error when unauthenticated
returns all properties of active integration custom_issue_tracker, except password fields
returns all properties of inactive integration custom_issue_tracker, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "datadog"
PUT /projects/:id/integrations/datadog
updates datadog settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/datadog
deletes datadog
GET /projects/:id/integrations/datadog
returns authentication error when unauthenticated
returns all properties of active integration datadog, except password fields
returns all properties of inactive integration datadog, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "discord"
PUT /projects/:id/integrations/discord
updates discord settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/discord
deletes discord
GET /projects/:id/integrations/discord
returns authentication error when unauthenticated
returns all properties of active integration discord, except password fields
returns all properties of inactive integration discord, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "drone_ci"
PUT /projects/:id/integrations/drone-ci
updates drone_ci settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/drone-ci
deletes drone_ci
GET /projects/:id/integrations/drone-ci
returns authentication error when unauthenticated
returns all properties of active integration drone_ci, except password fields
returns all properties of inactive integration drone_ci, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "emails_on_push"
PUT /projects/:id/integrations/emails-on-push
updates emails_on_push settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/emails-on-push
deletes emails_on_push
GET /projects/:id/integrations/emails-on-push
returns authentication error when unauthenticated
returns all properties of active integration emails_on_push, except password fields
returns all properties of inactive integration emails_on_push, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "ewm"
PUT /projects/:id/integrations/ewm
updates ewm settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/ewm
deletes ewm
GET /projects/:id/integrations/ewm
returns authentication error when unauthenticated
returns all properties of active integration ewm, except password fields
returns all properties of inactive integration ewm, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "external_wiki"
PUT /projects/:id/integrations/external-wiki
updates external_wiki settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/external-wiki
deletes external_wiki
GET /projects/:id/integrations/external-wiki
returns authentication error when unauthenticated
returns all properties of active integration external_wiki, except password fields
returns all properties of inactive integration external_wiki, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "github"
PUT /projects/:id/integrations/github
updates github settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/github
deletes github
GET /projects/:id/integrations/github
returns authentication error when unauthenticated
returns all properties of active integration github, except password fields
returns all properties of inactive integration github, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "google_play"
PUT /projects/:id/integrations/google-play
updates google_play settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/google-play
deletes google_play
GET /projects/:id/integrations/google-play
returns authentication error when unauthenticated
returns all properties of active integration google_play, except password fields
returns all properties of inactive integration google_play, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "hangouts_chat"
PUT /projects/:id/integrations/hangouts-chat
updates hangouts_chat settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/hangouts-chat
deletes hangouts_chat
GET /projects/:id/integrations/hangouts-chat
returns authentication error when unauthenticated
returns all properties of active integration hangouts_chat, except password fields
returns all properties of inactive integration hangouts_chat, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "harbor"
PUT /projects/:id/integrations/harbor
updates harbor settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/harbor
deletes harbor
GET /projects/:id/integrations/harbor
returns authentication error when unauthenticated
returns all properties of active integration harbor, except password fields
returns all properties of inactive integration harbor, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "irker"
PUT /projects/:id/integrations/irker
updates irker settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/irker
deletes irker
GET /projects/:id/integrations/irker
returns authentication error when unauthenticated
returns all properties of active integration irker, except password fields
returns all properties of inactive integration irker, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "jenkins"
PUT /projects/:id/integrations/jenkins
updates jenkins settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/jenkins
deletes jenkins
GET /projects/:id/integrations/jenkins
returns authentication error when unauthenticated
returns all properties of active integration jenkins, except password fields
returns all properties of inactive integration jenkins, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "jira"
PUT /projects/:id/integrations/jira
updates jira settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/jira
deletes jira
GET /projects/:id/integrations/jira
returns authentication error when unauthenticated
returns all properties of active integration jira, except password fields
returns all properties of inactive integration jira, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "mattermost"
PUT /projects/:id/integrations/mattermost
updates mattermost settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/mattermost
deletes mattermost
GET /projects/:id/integrations/mattermost
returns authentication error when unauthenticated
returns all properties of active integration mattermost, except password fields
returns all properties of inactive integration mattermost, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "mattermost_slash_commands"
PUT /projects/:id/integrations/mattermost-slash-commands
updates mattermost_slash_commands settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/mattermost-slash-commands
deletes mattermost_slash_commands
GET /projects/:id/integrations/mattermost-slash-commands
returns authentication error when unauthenticated
returns all properties of active integration mattermost_slash_commands, except password fields
returns all properties of inactive integration mattermost_slash_commands, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "microsoft_teams"
PUT /projects/:id/integrations/microsoft-teams
updates microsoft_teams settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/microsoft-teams
deletes microsoft_teams
GET /projects/:id/integrations/microsoft-teams
returns authentication error when unauthenticated
returns all properties of active integration microsoft_teams, except password fields
returns all properties of inactive integration microsoft_teams, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "mock_ci"
PUT /projects/:id/integrations/mock-ci
updates mock_ci settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/mock-ci
deletes mock_ci
GET /projects/:id/integrations/mock-ci
returns authentication error when unauthenticated
returns all properties of active integration mock_ci, except password fields
returns all properties of inactive integration mock_ci, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "mock_monitoring"
PUT /projects/:id/integrations/mock-monitoring
updates mock_monitoring settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/mock-monitoring
deletes mock_monitoring
GET /projects/:id/integrations/mock-monitoring
returns authentication error when unauthenticated
returns all properties of active integration mock_monitoring, except password fields
returns all properties of inactive integration mock_monitoring, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "packagist"
PUT /projects/:id/integrations/packagist
updates packagist settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/packagist
deletes packagist
GET /projects/:id/integrations/packagist
returns authentication error when unauthenticated
returns all properties of active integration packagist, except password fields
returns all properties of inactive integration packagist, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "pipelines_email"
PUT /projects/:id/integrations/pipelines-email
updates pipelines_email settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/pipelines-email
deletes pipelines_email
GET /projects/:id/integrations/pipelines-email
returns authentication error when unauthenticated
returns all properties of active integration pipelines_email, except password fields
returns all properties of inactive integration pipelines_email, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "pivotaltracker"
PUT /projects/:id/integrations/pivotaltracker
updates pivotaltracker settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/pivotaltracker
deletes pivotaltracker
GET /projects/:id/integrations/pivotaltracker
returns authentication error when unauthenticated
returns all properties of active integration pivotaltracker, except password fields
returns all properties of inactive integration pivotaltracker, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "prometheus"
PUT /projects/:id/integrations/prometheus
updates prometheus settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/prometheus
deletes prometheus
GET /projects/:id/integrations/prometheus
returns authentication error when unauthenticated
returns all properties of active integration prometheus, except password fields
returns all properties of inactive integration prometheus, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "pumble"
PUT /projects/:id/integrations/pumble
updates pumble settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/pumble
deletes pumble
GET /projects/:id/integrations/pumble
returns authentication error when unauthenticated
returns all properties of active integration pumble, except password fields
returns all properties of inactive integration pumble, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "pushover"
PUT /projects/:id/integrations/pushover
updates pushover settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/pushover
deletes pushover
GET /projects/:id/integrations/pushover
returns authentication error when unauthenticated
returns all properties of active integration pushover, except password fields
returns all properties of inactive integration pushover, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "redmine"
PUT /projects/:id/integrations/redmine
updates redmine settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/redmine
deletes redmine
GET /projects/:id/integrations/redmine
returns authentication error when unauthenticated
returns all properties of active integration redmine, except password fields
returns all properties of inactive integration redmine, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "shimo"
PUT /projects/:id/integrations/shimo
updates shimo settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/shimo
deletes shimo
GET /projects/:id/integrations/shimo
returns authentication error when unauthenticated
returns all properties of active integration shimo, except password fields
returns all properties of inactive integration shimo, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "slack"
PUT /projects/:id/integrations/slack
updates slack settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/slack
deletes slack
GET /projects/:id/integrations/slack
returns authentication error when unauthenticated
returns all properties of active integration slack, except password fields
returns all properties of inactive integration slack, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "slack_slash_commands"
PUT /projects/:id/integrations/slack-slash-commands
updates slack_slash_commands settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/slack-slash-commands
deletes slack_slash_commands
GET /projects/:id/integrations/slack-slash-commands
returns authentication error when unauthenticated
returns all properties of active integration slack_slash_commands, except password fields
returns all properties of inactive integration slack_slash_commands, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "squash_tm"
PUT /projects/:id/integrations/squash-tm
updates squash_tm settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/squash-tm
deletes squash_tm
GET /projects/:id/integrations/squash-tm
returns authentication error when unauthenticated
returns all properties of active integration squash_tm, except password fields
returns all properties of inactive integration squash_tm, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "teamcity"
PUT /projects/:id/integrations/teamcity
updates teamcity settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/teamcity
deletes teamcity
GET /projects/:id/integrations/teamcity
returns authentication error when unauthenticated
returns all properties of active integration teamcity, except password fields
returns all properties of inactive integration teamcity, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "unify_circuit"
PUT /projects/:id/integrations/unify-circuit
updates unify_circuit settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/unify-circuit
deletes unify_circuit
GET /projects/:id/integrations/unify-circuit
returns authentication error when unauthenticated
returns all properties of active integration unify_circuit, except password fields
returns all properties of inactive integration unify_circuit, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "webex_teams"
PUT /projects/:id/integrations/webex-teams
updates webex_teams settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/webex-teams
deletes webex_teams
GET /projects/:id/integrations/webex-teams
returns authentication error when unauthenticated
returns all properties of active integration webex_teams, except password fields
returns all properties of inactive integration webex_teams, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "youtrack"
PUT /projects/:id/integrations/youtrack
updates youtrack settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/youtrack
deletes youtrack
GET /projects/:id/integrations/youtrack
returns authentication error when unauthenticated
returns all properties of active integration youtrack, except password fields
returns all properties of inactive integration youtrack, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "zentao"
PUT /projects/:id/integrations/zentao
updates zentao settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/integrations/zentao
deletes zentao
GET /projects/:id/integrations/zentao
returns authentication error when unauthenticated
returns all properties of active integration zentao, except password fields
returns all properties of inactive integration zentao, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
POST /projects/:id/integrations/:slug/trigger
Mattermost integration
when no integration is available
returns a not found message
when the integration exists
when the integration is not active
when the integration is inactive
when the integration is active
returns status 200
when the project can not be found
returns a generic 404
Slack Integration
returns status 200
Mattermost integration
accepts a username for update
Microsoft Teams integration
accepts branches_to_be_notified for update
accepts notify_only_broken_pipelines for update
Hangouts Chat integration
accepts branches_to_be_notified for update
only requires the webhook param
Jira integration
returns the jira_issue_transition_id for get request
returns the jira_issue_transition_id for put request
Pipelines Email Integration
notify_only_broken_pipelines property was saved as a string
returns boolean values for notify_only_broken_pipelines
GET /projects/:id/services
returns authentication error when unauthenticated
returns error when authenticated but user is not a project owner
with integrations
returns a list of all active integrations
integration: "apple_app_store"
PUT /projects/:id/services/apple-app-store
updates apple_app_store settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/apple-app-store
deletes apple_app_store
GET /projects/:id/services/apple-app-store
returns authentication error when unauthenticated
returns all properties of active integration apple_app_store, except password fields
returns all properties of inactive integration apple_app_store, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "asana"
PUT /projects/:id/services/asana
updates asana settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/asana
deletes asana
GET /projects/:id/services/asana
returns authentication error when unauthenticated
returns all properties of active integration asana, except password fields
returns all properties of inactive integration asana, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "assembla"
PUT /projects/:id/services/assembla
updates assembla settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/assembla
deletes assembla
GET /projects/:id/services/assembla
returns authentication error when unauthenticated
returns all properties of active integration assembla, except password fields
returns all properties of inactive integration assembla, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "bamboo"
PUT /projects/:id/services/bamboo
updates bamboo settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/bamboo
deletes bamboo
GET /projects/:id/services/bamboo
returns authentication error when unauthenticated
returns all properties of active integration bamboo, except password fields
returns all properties of inactive integration bamboo, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "bugzilla"
PUT /projects/:id/services/bugzilla
updates bugzilla settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/bugzilla
deletes bugzilla
GET /projects/:id/services/bugzilla
returns authentication error when unauthenticated
returns all properties of active integration bugzilla, except password fields
returns all properties of inactive integration bugzilla, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "buildkite"
PUT /projects/:id/services/buildkite
updates buildkite settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/buildkite
deletes buildkite
GET /projects/:id/services/buildkite
returns authentication error when unauthenticated
returns all properties of active integration buildkite, except password fields
returns all properties of inactive integration buildkite, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "campfire"
PUT /projects/:id/services/campfire
updates campfire settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/campfire
deletes campfire
GET /projects/:id/services/campfire
returns authentication error when unauthenticated
returns all properties of active integration campfire, except password fields
returns all properties of inactive integration campfire, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "confluence"
PUT /projects/:id/services/confluence
updates confluence settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/confluence
deletes confluence
GET /projects/:id/services/confluence
returns authentication error when unauthenticated
returns all properties of active integration confluence, except password fields
returns all properties of inactive integration confluence, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "custom_issue_tracker"
PUT /projects/:id/services/custom-issue-tracker
updates custom_issue_tracker settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/custom-issue-tracker
deletes custom_issue_tracker
GET /projects/:id/services/custom-issue-tracker
returns authentication error when unauthenticated
returns all properties of active integration custom_issue_tracker, except password fields
returns all properties of inactive integration custom_issue_tracker, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "datadog"
PUT /projects/:id/services/datadog
updates datadog settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/datadog
deletes datadog
GET /projects/:id/services/datadog
returns authentication error when unauthenticated
returns all properties of active integration datadog, except password fields
returns all properties of inactive integration datadog, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "discord"
PUT /projects/:id/services/discord
updates discord settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/discord
deletes discord
GET /projects/:id/services/discord
returns authentication error when unauthenticated
returns all properties of active integration discord, except password fields
returns all properties of inactive integration discord, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "drone_ci"
PUT /projects/:id/services/drone-ci
updates drone_ci settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/drone-ci
deletes drone_ci
GET /projects/:id/services/drone-ci
returns authentication error when unauthenticated
returns all properties of active integration drone_ci, except password fields
returns all properties of inactive integration drone_ci, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "emails_on_push"
PUT /projects/:id/services/emails-on-push
updates emails_on_push settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/emails-on-push
deletes emails_on_push
GET /projects/:id/services/emails-on-push
returns authentication error when unauthenticated
returns all properties of active integration emails_on_push, except password fields
returns all properties of inactive integration emails_on_push, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "ewm"
PUT /projects/:id/services/ewm
updates ewm settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/ewm
deletes ewm
GET /projects/:id/services/ewm
returns authentication error when unauthenticated
returns all properties of active integration ewm, except password fields
returns all properties of inactive integration ewm, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "external_wiki"
PUT /projects/:id/services/external-wiki
updates external_wiki settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/external-wiki
deletes external_wiki
GET /projects/:id/services/external-wiki
returns authentication error when unauthenticated
returns all properties of active integration external_wiki, except password fields
returns all properties of inactive integration external_wiki, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "github"
PUT /projects/:id/services/github
updates github settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/github
deletes github
GET /projects/:id/services/github
returns authentication error when unauthenticated
returns all properties of active integration github, except password fields
returns all properties of inactive integration github, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "google_play"
PUT /projects/:id/services/google-play
updates google_play settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/google-play
deletes google_play
GET /projects/:id/services/google-play
returns authentication error when unauthenticated
returns all properties of active integration google_play, except password fields
returns all properties of inactive integration google_play, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "hangouts_chat"
PUT /projects/:id/services/hangouts-chat
updates hangouts_chat settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/hangouts-chat
deletes hangouts_chat
GET /projects/:id/services/hangouts-chat
returns authentication error when unauthenticated
returns all properties of active integration hangouts_chat, except password fields
returns all properties of inactive integration hangouts_chat, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "harbor"
PUT /projects/:id/services/harbor
updates harbor settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/harbor
deletes harbor
GET /projects/:id/services/harbor
returns authentication error when unauthenticated
returns all properties of active integration harbor, except password fields
returns all properties of inactive integration harbor, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "irker"
PUT /projects/:id/services/irker
updates irker settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/irker
deletes irker
GET /projects/:id/services/irker
returns authentication error when unauthenticated
returns all properties of active integration irker, except password fields
returns all properties of inactive integration irker, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "jenkins"
PUT /projects/:id/services/jenkins
updates jenkins settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/jenkins
deletes jenkins
GET /projects/:id/services/jenkins
returns authentication error when unauthenticated
returns all properties of active integration jenkins, except password fields
returns all properties of inactive integration jenkins, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "jira"
PUT /projects/:id/services/jira
updates jira settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/jira
deletes jira
GET /projects/:id/services/jira
returns authentication error when unauthenticated
returns all properties of active integration jira, except password fields
returns all properties of inactive integration jira, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "mattermost"
PUT /projects/:id/services/mattermost
updates mattermost settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/mattermost
deletes mattermost
GET /projects/:id/services/mattermost
returns authentication error when unauthenticated
returns all properties of active integration mattermost, except password fields
returns all properties of inactive integration mattermost, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "mattermost_slash_commands"
PUT /projects/:id/services/mattermost-slash-commands
updates mattermost_slash_commands settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/mattermost-slash-commands
deletes mattermost_slash_commands
GET /projects/:id/services/mattermost-slash-commands
returns authentication error when unauthenticated
returns all properties of active integration mattermost_slash_commands, except password fields
returns all properties of inactive integration mattermost_slash_commands, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "microsoft_teams"
PUT /projects/:id/services/microsoft-teams
updates microsoft_teams settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/microsoft-teams
deletes microsoft_teams
GET /projects/:id/services/microsoft-teams
returns authentication error when unauthenticated
returns all properties of active integration microsoft_teams, except password fields
returns all properties of inactive integration microsoft_teams, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "mock_ci"
PUT /projects/:id/services/mock-ci
updates mock_ci settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/mock-ci
deletes mock_ci
GET /projects/:id/services/mock-ci
returns authentication error when unauthenticated
returns all properties of active integration mock_ci, except password fields
returns all properties of inactive integration mock_ci, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "mock_monitoring"
PUT /projects/:id/services/mock-monitoring
updates mock_monitoring settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/mock-monitoring
deletes mock_monitoring
GET /projects/:id/services/mock-monitoring
returns authentication error when unauthenticated
returns all properties of active integration mock_monitoring, except password fields
returns all properties of inactive integration mock_monitoring, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "packagist"
PUT /projects/:id/services/packagist
updates packagist settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/packagist
deletes packagist
GET /projects/:id/services/packagist
returns authentication error when unauthenticated
returns all properties of active integration packagist, except password fields
returns all properties of inactive integration packagist, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "pipelines_email"
PUT /projects/:id/services/pipelines-email
updates pipelines_email settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/pipelines-email
deletes pipelines_email
GET /projects/:id/services/pipelines-email
returns authentication error when unauthenticated
returns all properties of active integration pipelines_email, except password fields
returns all properties of inactive integration pipelines_email, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "pivotaltracker"
PUT /projects/:id/services/pivotaltracker
updates pivotaltracker settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/pivotaltracker
deletes pivotaltracker
GET /projects/:id/services/pivotaltracker
returns authentication error when unauthenticated
returns all properties of active integration pivotaltracker, except password fields
returns all properties of inactive integration pivotaltracker, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "prometheus"
PUT /projects/:id/services/prometheus
updates prometheus settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/prometheus
deletes prometheus
GET /projects/:id/services/prometheus
returns authentication error when unauthenticated
returns all properties of active integration prometheus, except password fields
returns all properties of inactive integration prometheus, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "pumble"
PUT /projects/:id/services/pumble
updates pumble settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/pumble
deletes pumble
GET /projects/:id/services/pumble
returns authentication error when unauthenticated
returns all properties of active integration pumble, except password fields
returns all properties of inactive integration pumble, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "pushover"
PUT /projects/:id/services/pushover
updates pushover settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/pushover
deletes pushover
GET /projects/:id/services/pushover
returns authentication error when unauthenticated
returns all properties of active integration pushover, except password fields
returns all properties of inactive integration pushover, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "redmine"
PUT /projects/:id/services/redmine
updates redmine settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/redmine
deletes redmine
GET /projects/:id/services/redmine
returns authentication error when unauthenticated
returns all properties of active integration redmine, except password fields
returns all properties of inactive integration redmine, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "shimo"
PUT /projects/:id/services/shimo
updates shimo settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/shimo
deletes shimo
GET /projects/:id/services/shimo
returns authentication error when unauthenticated
returns all properties of active integration shimo, except password fields
returns all properties of inactive integration shimo, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "slack"
PUT /projects/:id/services/slack
updates slack settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/slack
deletes slack
GET /projects/:id/services/slack
returns authentication error when unauthenticated
returns all properties of active integration slack, except password fields
returns all properties of inactive integration slack, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "slack_slash_commands"
PUT /projects/:id/services/slack-slash-commands
updates slack_slash_commands settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/slack-slash-commands
deletes slack_slash_commands
GET /projects/:id/services/slack-slash-commands
returns authentication error when unauthenticated
returns all properties of active integration slack_slash_commands, except password fields
returns all properties of inactive integration slack_slash_commands, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "squash_tm"
PUT /projects/:id/services/squash-tm
updates squash_tm settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/squash-tm
deletes squash_tm
GET /projects/:id/services/squash-tm
returns authentication error when unauthenticated
returns all properties of active integration squash_tm, except password fields
returns all properties of inactive integration squash_tm, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "teamcity"
PUT /projects/:id/services/teamcity
updates teamcity settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/teamcity
deletes teamcity
GET /projects/:id/services/teamcity
returns authentication error when unauthenticated
returns all properties of active integration teamcity, except password fields
returns all properties of inactive integration teamcity, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "unify_circuit"
PUT /projects/:id/services/unify-circuit
updates unify_circuit settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/unify-circuit
deletes unify_circuit
GET /projects/:id/services/unify-circuit
returns authentication error when unauthenticated
returns all properties of active integration unify_circuit, except password fields
returns all properties of inactive integration unify_circuit, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "webex_teams"
PUT /projects/:id/services/webex-teams
updates webex_teams settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/webex-teams
deletes webex_teams
GET /projects/:id/services/webex-teams
returns authentication error when unauthenticated
returns all properties of active integration webex_teams, except password fields
returns all properties of inactive integration webex_teams, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "youtrack"
PUT /projects/:id/services/youtrack
updates youtrack settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/youtrack
deletes youtrack
GET /projects/:id/services/youtrack
returns authentication error when unauthenticated
returns all properties of active integration youtrack, except password fields
returns all properties of inactive integration youtrack, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
integration: "zentao"
PUT /projects/:id/services/zentao
updates zentao settings and returns the correct fields
returns if required fields missing
DELETE /projects/:id/services/zentao
deletes zentao
GET /projects/:id/services/zentao
returns authentication error when unauthenticated
returns all properties of active integration zentao, except password fields
returns all properties of inactive integration zentao, except password fields
returns not found if integration does not exist
returns not found if integration exists but is in `Project#disabled_integrations`
returns error when authenticated but not a project owner
POST /projects/:id/services/:slug/trigger
Mattermost integration
when no integration is available
returns a not found message
when the integration exists
when the integration is not active
when the integration is inactive
when the integration is active
returns status 200
when the project can not be found
returns a generic 404
Slack Integration
returns status 200
Mattermost integration
accepts a username for update
Microsoft Teams integration
accepts branches_to_be_notified for update
accepts notify_only_broken_pipelines for update
Hangouts Chat integration
accepts branches_to_be_notified for update
only requires the webhook param
Jira integration
returns the jira_issue_transition_id for get request
returns the jira_issue_transition_id for put request
Pipelines Email Integration
notify_only_broken_pipelines property was saved as a string
returns boolean values for notify_only_broken_pipelines
Finished in 3 minutes 56.8 seconds (files took 11.12 seconds to load)
806 examples, 0 failures
[TEST PROF INFO] Time spent in factories: 00:23.884 (9.96% of total time)
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Peter Leitzen