Commit Graph

810 Commits

Author SHA1 Message Date
David McPike
c9c8f01c67 Fix panic from nil error 2019-07-26 10:29:20 -05:00
David McPike
424a6b005c Commit Azure Devops mocks 2019-07-16 22:07:40 -05:00
David McPike
29b74d25f1 Update Azure Devops Event Parser
- Always set explicit return values
- Add baseURL func parameter to facilitate testing
2019-07-16 21:57:41 -05:00
David McPike
f8d9e30a8e Update Azure Devops tests and get them to pass 2019-07-16 21:55:56 -05:00
Maxime Deravet
8180f35a1a Append terraform binary dir to PATH when running custom commands (#678)
Append Atlantis terraform binary dir to PATH when running custom commands
2019-07-16 15:00:10 +01:00
David McPike
eeaab9f6d7 Merge tag 'v0.8.3' into azure-devops 2019-07-12 23:27:43 -05:00
Luke Kysow
ee8707d239 Add flag for setting Terraform Enterprise hostname (#706)
--tfe-hostname will allow for creating a .terraformrc file with a
different hostname than app.terraform.io
2019-07-12 15:19:43 +01:00
Luke Kysow
b7d4e998f6 Detect remote ops for TF >= 0.12.0 (#705)
The error message we use to detect remote ops changed between 0.11.14
and 0.12.0. Recognize this new error message.
2019-07-12 11:14:52 +01:00
David McPike
475381b928 Merge tag 'v0.8.2' into azure-devops 2019-07-11 15:57:04 -05:00
Luke Kysow
9a21eef7a0 Escape additional comment args. (#699)
Remove extra quoting and instead add a backslach to each character in
the extra args before appending it to the command.
ex. atlantis plan -- -var key=val will result in:
  sh -c "atlantis plan \-\v\a\r \k\e\y\=\v\a\l"
Fixes #697.
2019-07-11 17:42:32 +01:00
Alex Rowley
dd02deaf76 Add CommentArgs to run step runner (#693)
Add CommentArgs to run step runner

This should allow the extra args passed in the comment to be used by
run steps

Fixes #670
2019-07-11 14:21:36 +01:00
Luke Kysow
915e15f30e Upgrade pegomock to 2.5 2019-06-14 14:39:26 +01:00
Luke Kysow
a2349b64d7 Fix bug parsing BB Cloud pull rejected events
Was using the word DECLINE but the actual keyword is DECLINED.
2019-06-13 14:47:29 +01:00
Luke Kysow
91eecbcb68 Add comment for bitbucket merge conflict detection 2019-06-12 12:28:52 +01:00
Luke Kysow
8bcb3726d4 Switch to Bitbucket 2.0 API for mergeable check 2019-06-12 12:21:47 +01:00
Luke Kysow
4944ee1687 Add comment explaining . => / replace 2019-06-05 11:30:24 +01:00
Tollef Fog Heen
8a3e342344 Include directory in slack webhook message
Fixes: https://github.com/runatlantis/atlantis/issues/660
2019-06-05 11:37:37 +02:00
Luke Kysow
8f81568e24 Fix require-approval for Bitbucket Cloud.
Bitbucket Cloud changed their APIs to deprecate the username fields.
This broke how we were checking for approvals. Rather than propagate the
UUID field through the PullRequest model, I use the pull request API
response directly while checking approvers.
2019-06-03 14:57:52 +01:00
David McPike
cb9bdb017d Resolve merge conflict on DisableApplyAll flag 2019-05-24 21:26:59 -05:00
Luke Kysow
98274cd9bb Log repo name if does not match whitelist
Should help with folks debugging, especially for BB Server.
2019-05-24 09:14:40 -04:00
Luke Kysow
7595265a6b Finishing touches to disable-apply-all
- fix missing part of a test
- log when ignoring
2019-05-23 12:09:51 -04:00
Will Soula
b77a09dc97 Add --disable-apply-all flag
Add a flag to disable the use of the command `atlantis apply` so you
can enforce that each plan must be applied separately.
2019-05-23 12:09:51 -04:00
Luke Kysow
4dbdde8543 Upgrade to Terraform 0.12
To be clear, Atlantis was compatible with 0.12 before this commit, but
this change makes 0.12 the default version *if* users haven't set the
--default-tf-version flag.
2019-05-23 11:42:58 -04:00
David McPike
12f95c5b79 Azure Devops support
- Add blackfriday for markdown-to-html comment translation
Azure Devops doesn't support markdown in work item comments

- Restore NewRepo() to original form - removing project parameter
- Add models.SplitAzureDevopsRepoFullName() to handle project name
All Azure Devops URIs need owner, project, and repo.  This function
allows us to avoid adding project to NewRepo()

- Update calls to azuredevops.NewClient() to match library requirements
- Add context to azuredevops client to match library requirements
- Basic working CreateComment() and MergePull() support (not widely
tested)
2019-05-19 20:54:04 -05:00
David McPike
dd9041f131 Merge remote-tracking branch 'upstream/master' into azure-devops 2019-05-17 09:31:44 -05:00
David McPike
7f1fd23f0f Azure Devops fork updates
- Remove project from NewRepo() calls
- Add new function SplitAzureDevopsRepoFullName
2019-05-17 09:31:01 -05:00
Luke Kysow
3160a824d8 Merge pull request #619 from runatlantis/double-error
Don't include errored cmd output twice.
2019-05-07 09:26:03 -04:00
Luke Kysow
e45bc33330 Don't include errored cmd output twice.
Since we're including the command output inside the error, we don't need
to also return the output. This was resulting in the error output being
printed twice.
2019-05-07 09:22:25 -04:00
Luke Kysow
d0308a52e7 Redact clone url during clone errors.
If there was an error during cloning, we would sometimes print the clone
credentials to the pull request and in the Atlantis logs. This change
ensures we print the redacted clone url.

We also change the redacted clone url to contain "username:<redacted>"
so that if users see the redacted url in logs, they'll know we were
using a credentialed form and so if they try to replicate with curl
they'll know to substitute the correct credentials.
2019-05-07 09:14:59 -04:00
David McPike
bf1ccc47db Azure Devops support
- Fixes logic error in PullIsMergeable()
- Replace GetRemoteURL() with GetWebURL() - returns what we want
2019-04-29 20:19:02 -05:00
David McPike
36a849d2b5 Fixes steps that use cloneURL for Azure Devops 2019-04-29 09:55:37 -05:00
David McPike
cbb28ec1f1 Azure Devops support
- Add bluemonday to strip HTML tags from comments
- Rename all WorkItemEvent refs to WorkItemCommentedEvent
- Rename pullEvent to event to match types
- Minor comment clean-ups
- Support multiple pull request links in a work item
2019-04-29 00:06:48 -05:00
David McPike
10f210c562 Merge remote-tracking branch 'upstream/master' into azure-devops 2019-04-28 17:31:22 -05:00
David McPike
10abea0875 fix CreateStatus() if TargetURL is empty 2019-04-28 15:57:39 -05:00
David McPike
4eb9a010bb Azure Devops support
- Add missing headRepo set to AzureDevops event parser
- Strip 'refs/heads' from branch values sent to models.PullRequest
- Fix calls to NewClient() to use org, not username
- Add notes about use of /'s in repo FullName
- Force use of 'dev.azure.com' for VCSHost.Hostname value
- NewAzureDevopsClient(): Rename 'account' to 'username' to match docs
- NewAzureDevopsClient(): Rename unused 'hostname' to 'org'
2019-04-28 11:23:25 -05:00
David McPike
87e88e34df Fixes repo fullName for Azure Devops 2019-04-27 20:09:28 -05:00
David McPike
5cbcf25de0 Initial support for azure devops events
- Pull request events
- Work item comment events
2019-04-27 17:52:08 -05:00
David McPike
4d11f8089a add Azure Devops pull getter support 2019-04-27 17:50:52 -05:00
David McPike
4bffa57c52 Updates to azuredevops_client.go
- remove unneeded NewAzureDevopsClient() code
- change to using const refs
- add GetPullRequest()
2019-04-27 17:49:04 -05:00
David McPike
7dd268709a Azure Devops support fork development
cmd/server.go:
- Add default empty strings for Azure Devops webhook basic user/pass

server/user_config.go:
- Rename AzureDevopsBasicUser to AzureDevopsWebhookBasicUser to signify
difference from the API call credentials

server/server.go:
- fix azuredevopsClient var
- add Azure Devops to []supportedVCSHosts
- add AzureDevopsRequestValidator for basic auth webhook support

server/azuredevops_request_validator*.go:
- add charset utf-8 to support content-types for webhooks
- start adding validator tests

server/events_controller.go*:
- change azuredevops webhook header to Request-Id
- move Validate() and Basic Auth webhook support to go-azuredevops
- add pull and comment event functions
2019-04-27 17:48:17 -05:00
David McPike
a058a661eb initial commit of azuredevops client 2019-04-26 09:05:29 -05:00
Luke Kysow
568c7f9fd9 Add newline so bitbucket formats markdown 2019-04-24 09:50:28 -03:00
Luke Kysow
8e7eab78bd Add missing closing backticks for help output 2019-04-23 13:29:39 -03:00
David McPike
b7ff1c23b1 add project parameter to bitbucketcloud NewRepo() 2019-04-14 18:19:05 -05:00
David McPike
811a2a6ec9 replace azuredevops secret for basic auth 2019-04-13 21:36:21 -05:00
David McPike
262e31bc59 Merge remote-tracking branch 'upstream/master' into azure-devops 2019-04-13 19:06:54 -05:00
Luke Kysow
559736c897 Merge pull request #585 from runatlantis/ff-merges
Never use fast-forward merges
2019-04-10 15:16:25 -03:00
Luke Kysow
93cd6a5431 Never use fast-forward merges
When using --checkout-strategy merge, we were performing the merge
without the --no-ff flag. This meant that if the branch could be merged
via a fast-forward merge (without a merge commit), then later when we
ran git rev-parse HEAD^2 to determine if the repo was at the right
commit, it would fail.

Now we merge with --no-ff which ensures the commit tree will always look
the same and git rev-parse HEAD^2 will always succeed.
2019-04-10 15:12:32 -03:00
Luke Kysow
ac41fe9b19 Merge pull request #564 from devinturner/master
Comment on why EROR and DBUG are not typos
2019-04-09 09:52:33 -03:00
Luke Kysow
cf490f86f0 Refactor run_step_runner test cases 2019-04-08 11:19:25 -03:00