Skip to content

Add Bitbucket Server (Stash)#1233

Closed
naimo84 wants to merge 1356 commits into
updatecli:mainfrom
naimo84:main
Closed

Add Bitbucket Server (Stash)#1233
naimo84 wants to merge 1356 commits into
updatecli:mainfrom
naimo84:main

Conversation

@naimo84

@naimo84 naimo84 commented Mar 19, 2023

Copy link
Copy Markdown
Contributor

Hi 😉

This is my first post to a golang repo, so please forgive me if everything isn't correct yet. I left out the tests because there is no free version of bitbucket server. there are apparently only on premise solutions. I tested everything with our company bitbucket server. if you want me to change anything, let me know. Or just delete the PR, If it's completely wrong.

Greets,
Benjamin

olblak and others added 30 commits September 10, 2022 09:33
* fix: xml file path

Signed-off-by: Olblak <me@olblak.com>

* Add xml e2e test

Signed-off-by: Olblak <me@olblak.com>

* fix: Various file scheme and associated UT

Signed-off-by: Olblak <me@olblak.com>

* Improve xml utils readability

Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
* fix: correctly retrieve github enterprise url

Signed-off-by: Olblak <me@olblak.com>

* Ensure github url doesn't contain HTTP scheme

Signed-off-by: Olblak <me@olblak.com>

* Remove hardcode github.com value

Signed-off-by: Olblak <me@olblak.com>

* Remove hardcode github.com from changelog

Signed-off-by: Olblak <me@olblak.com>

* Allow to both http and https schema for Github URL

Signed-off-by: Olblak <me@olblak.com>

* fix: url scheme

Signed-off-by: Olblak <me@olblak.com>

* remove .git from changelog debug message

Signed-off-by: Olblak <me@olblak.com>

* Add Github scm test cases

Signed-off-by: Olblak <me@olblak.com>

* fix: githubrelease tests

Signed-off-by: Olblak <me@olblak.com>

* GitHub case

Signed-off-by: Olblak <me@olblak.com>
Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>
* fix: Various YAML file path scenario

Signed-off-by: Olblak <me@olblak.com>

* Add yaml e2e test

Signed-off-by: Olblak <me@olblak.com>

* Update pkg/plugins/resources/yaml/condition.go

Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>

* Update pkg/plugins/resources/yaml/source.go

Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>

* Update pkg/plugins/resources/yaml/utils.go

Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>

* Update pkg/plugins/resources/yaml/utils.go

Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>

* Update pkg/plugins/resources/yaml/utils_test.go

Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>

Signed-off-by: Olblak <me@olblak.com>
Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>
* Always use the latest Go version available for the go.mod

Signed-off-by: Olblak <me@olblak.com>

* e2e shouldn't retrieve information named ERROR

Signed-off-by: Olblak <me@olblak.com>

* correctly set e2e test rootdir

Signed-off-by: Olblak <me@olblak.com>

* fix test_skipped_targets script name

Signed-off-by: Olblak <me@olblak.com>

* facepalm

Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
* ADd graphql path when creating client

* fixup! ADd graphql path when creating client

* Update pkg/plugins/scms/github/main.go

Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>

* Update pkg/plugins/scms/github/main.go

Co-authored-by: Gerard Segarra <gerard.segarra@adevinta.com>
Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>
Bumps [updatecli/updatecli-action](https://github.com/updatecli/updatecli-action) from 2.7.0 to 2.7.1.
- [Release notes](https://github.com/updatecli/updatecli-action/releases)
- [Commits](updatecli/updatecli-action@v2.7.0...v2.7.1)

---
updated-dependencies:
- dependency-name: updatecli/updatecli-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ranches (#868)

* Fix gitea function description

Signed-off-by: Olblak <me@olblak.com>

* fix: do not create gitea Pr if missing remote branches

Signed-off-by: Olblak <me@olblak.com>

* Remove print message

Signed-off-by: Olblak <me@olblak.com>

* refactor gitea pullrequest

Signed-off-by: Olblak <me@olblak.com>

* Rename variable to scm to be more explicit

Signed-off-by: Olblak <me@olblak.com>

* reorganize gitea pullrequest code

Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
Bumps [updatecli/updatecli-action](https://github.com/updatecli/updatecli-action) from 2.7.1 to 2.8.0.
- [Release notes](https://github.com/updatecli/updatecli-action/releases)
- [Commits](updatecli/updatecli-action@v2.7.1...v2.8.0)

---
updated-dependencies:
- dependency-name: updatecli/updatecli-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Init helmfile autodiscovery

Signed-off-by: Olblak <me@olblak.com>

* register helmfile autodiscovery

Signed-off-by: Olblak <me@olblak.com>

* Do not update release without version specified

Signed-off-by: Olblak <me@olblak.com>

* Add helmfile e2e test

Signed-off-by: Olblak <me@olblak.com>

* Convert deprecated ioutil to io

Signed-off-by: Olblak <me@olblak.com>

* Rename helmfile discover manifest function

Signed-off-by: Olblak <me@olblak.com>

* Fix autodiscovery helmfile tests

Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
* No default autodiscovery crawler when autodiscovery is used from manifest

Signed-off-by: Olblak <me@olblak.com>

* remove obsolete autodiscover enabled flag

Signed-off-by: Olblak <me@olblak.com>

* cleanup autodiscovery examples

Signed-off-by: Olblak <me@olblak.com>

* Remove enabled flag from helmfile autodiscoveryt

Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
Co-authored-by: Damien Duportal <damien.duportal@gmail.com>
No need to install and check version of tools before they're really used.
If a previous step fails, it avoid unnecessary downloads and executions.
* truncate pull request body

* increase max char, test for long and short msg, and dots for truncated msg
* Deprecate depends_on in favor of dependson

Signed-off-by: Olblak <me@olblak.com>

* Update pkg/core/pipeline/resource/main.go

Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>

* Update pkg/core/pipeline/resource/main.go

Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>

* Update pkg/core/pipeline/resource/main.go

Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>

* Convert warningf to warningln

Signed-off-by: Olblak <me@olblak.com>

* Fix dependson in command.yaml e2e test

Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>
* Init json resource

Signed-off-by: Olblak <me@olblak.com>

* Add dasel dependency

Signed-off-by: Olblak <me@olblak.com>

* Fix misspelling

Signed-off-by: Olblak <me@olblak.com>

* Update pkg/plugins/resources/json/main.go

* fix json utils tests

Signed-off-by: Olblak <me@olblak.com>

* remove useless data file

Signed-off-by: Olblak <me@olblak.com>

* Improve json target test

Signed-off-by: Olblak <me@olblak.com>

* Add http json example

Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.9.4 to 3.10.0.
- [Release notes](https://github.com/helm/helm/releases)
- [Commits](helm/helm@v3.9.4...v3.10.0)

---
updated-dependencies:
- dependency-name: helm.sh/helm/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
* Add plugin toml

Signed-off-by: Olblak <me@olblak.com>

* Add go dep

Signed-off-by: Olblak <me@olblak.com>

* enable toml resource

Signed-off-by: Olblak <me@olblak.com>

* Add toml e2e test

Signed-off-by: Olblak <me@olblak.com>

* Fix various wrong json reference

Signed-off-by: Olblak <me@olblak.com>

* Update e2e/updatecli.d/success.d/toml.yaml

* Apply suggestions from code review

* Better handle could not find value for query

Signed-off-by: Olblak <me@olblak.com>

* Override error message not value could be found for specific query

Signed-off-by: Olblak <me@olblak.com>

* Cleanup error message and add debug

Signed-off-by: Olblak <me@olblak.com>

* Add support to multiple query

Signed-off-by: Olblak <me@olblak.com>

* fix toml UT

Signed-off-by: Olblak <me@olblak.com>

* Add target test case

Signed-off-by: Olblak <me@olblak.com>

* Add multiple query to toml condition

Signed-off-by: Olblak <me@olblak.com>

* Add toml e2e test case

Signed-off-by: Olblak <me@olblak.com>

* Add multiple flag for toml resource

Signed-off-by: Olblak <me@olblak.com>

* remove useless function return value

Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
…895)

Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.44.94 to 1.44.107.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](aws/aws-sdk-go@v1.44.94...v1.44.107)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add csv resource

Signed-off-by: Olblak <me@olblak.com>

* Fix csv error message

Signed-off-by: Olblak <me@olblak.com>

* Add multiple query support to csv

Signed-off-by: Olblak <me@olblak.com>

* register csv plugin

Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
Bumps [updatecli/updatecli-action](https://github.com/updatecli/updatecli-action) from 2.8.0 to 2.9.0.
- [Release notes](https://github.com/updatecli/updatecli-action/releases)
- [Commits](updatecli/updatecli-action@v2.8.0...v2.9.0)

---
updated-dependencies:
- dependency-name: updatecli/updatecli-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Upgrade manifest according updatecli manifest upgrade
…li... (#897)

... /updatecli/.github/ISSUE_TEMPLATE/1-bug-report.yml"

Made with ❤️️ by updatecli

Co-authored-by: updatecli <me@olblak.com>
Co-authored-by: Olivier Vernin <olivier@vernin.me>
* Add dasel util package

Signed-off-by: Olblak <me@olblak.com>

* Refactor json package

Signed-off-by: Olblak <me@olblak.com>

* Update json e2e tests

Signed-off-by: Olblak <me@olblak.com>

* json should return error if query do not exist

Signed-off-by: Olblak <me@olblak.com>

* Add toml support to dasel package

Signed-off-by: Olblak <me@olblak.com>

* Add files support to toml

Refactor toml to use dasel package

Signed-off-by: Olblak <me@olblak.com>

* Export dasel helper function

Signed-off-by: Olblak <me@olblak.com>

* Fix toml spec comment

Signed-off-by: Olblak <me@olblak.com>

* Fix json spec comment

Signed-off-by: Olblak <me@olblak.com>

* Add multi files support to csv

Refactor csv resource to use custom dasel package

Signed-off-by: Olblak <me@olblak.com>

* Add csv spec validation

Signed-off-by: Olblak <me@olblak.com>

* reword error message

Signed-off-by: Olblak <me@olblak.com>

* Add back csv write function

Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
* Add YAML key parser

Signed-off-by: Olblak <me@olblak.com>

* remove debugging message

Signed-off-by: Olblak <me@olblak.com>

* remove another debugging message

Signed-off-by: Olblak <me@olblak.com>

* allow to escape backslash

Signed-off-by: Olblak <me@olblak.com>

Signed-off-by: Olblak <me@olblak.com>
@olblak

olblak commented Mar 20, 2023

Copy link
Copy Markdown
Member

Thanks very much for the pullrequest and glad to hear that you tested on your internal stash instance.

I'll review this pullrequest when I have some time but I am not sure that I'll be able to test it myself.

Did you tried it on Bitbucket cloud or bitbucker on prem? I am curious as I thought on prem is discontinued since a few years now.

@olblak

olblak commented Mar 20, 2023

Copy link
Copy Markdown
Member

I am quite familiar with Atlassian providing license to OSS project as I handle it for the Jenkins project, I'll try to request a license for Updatecli to execute e2e tests

don't prefix the gitlab url with the `https://` prefix if it is already there...
Comment thread pkg/plugins/resources/bitbucket/client/main.go Outdated
Comment thread pkg/plugins/resources/bitbucket/pullrequest/main.go Outdated
Comment thread pkg/plugins/resources/bitbucket/pullrequest/main.go Outdated
Comment thread pkg/plugins/resources/bitbucket/pullrequest/main.go Outdated

@olblak olblak left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made a few comments for renaming giteascm to bitbucketscm. Once change, could you please run some test on your internal bitbucket instance as I don't have one yet. I'll request a license.

My comment regarding public function becoming private is not mandatory but a I good coding practice that I start to apply now

@olblak

olblak commented Mar 20, 2023

Copy link
Copy Markdown
Member

Could I also ask you to add a documentation page for bitbucket on updatecli/website?
You would need to add a bitbucket.adoc next to https://raw.githubusercontent.com/updatecli/website/master/content/en/docs/plugins/scm/gitea.adoc

Something to keep in mind, {{< resourceparameters "scms" "bitbucket" >}} will only work once the current pullrequest is release. The reason is, it relies on https://www.updatecli.io/schema/latest/config.json to generate the table and that jsonschema file is automatically generated by the latest release

updateclibot Bot and others added 3 commits March 20, 2023 10:33
…... (#1232)

... updatecli/github/updatecli/updatecli/.github/workflows/go.yaml"

Made with ❤️️ by updatecli

Co-authored-by: updatecli <me@olblak.com>
Co-authored-by: Olivier Vernin <olivier@vernin.me>
…... (#1235)

... li/updatecli/.github/ISSUE_TEMPLATE/1-bug-report.yml"

Made with ❤️️ by updatecli

Co-authored-by: updatecli <me@olblak.com>
@naimo84

naimo84 commented Mar 20, 2023

Copy link
Copy Markdown
Contributor Author

Thanks very much for the pullrequest and glad to hear that you tested on your internal stash instance.

I'll review this pullrequest when I have some time but I am not sure that I'll be able to test it myself.

Did you tried it on Bitbucket cloud or bitbucker on prem? I am curious as I thought on prem is discontinued since a few years now.

Hey Oliver,
we did it on bitbucket server (formaly stash) on prem https://www.atlassian.com/software/bitbucket/enterprise.

The Api seems to be different from bitbucket cloud, even go-scm has two types of driver for it (https://github.com/drone/go-scm/tree/master/scm/driver/bitbucket and https://github.com/drone/go-scm/tree/master/scm/driver/stash)

and yes, your right... on prem will be discontinued from February 15, 2024 on, as you can read in the first link. But we have no migration path to Bitbucket Cloudd, Gitlab, github or whatever, yet ;) So Stash will be around some time for us.

I will update of course the docs as soon as possible.

Thanks for helping me ;)

Greets,
Benjamin

@naimo84

naimo84 commented Mar 20, 2023

Copy link
Copy Markdown
Contributor Author

Ah, I see an fatal mistake at my side. Sorry...
I should rename bitbucket to bitbucketserver or stash.

As I wrote 😁 go-scm makes a difference between those two. This would break the implementation of bitbucket online in the future...

@olblak

olblak commented Mar 20, 2023

Copy link
Copy Markdown
Member

My comment regarding public function becoming private is not mandatory but a I good coding practice that I start to apply now

I meant not mandatory :D

@olblak

olblak commented Mar 20, 2023

Copy link
Copy Markdown
Member

I should rename bitbucket to bitbucketserver or stash.

Indeed to avoid the confusion. while I don't have strong opinion, I would rename bitbucket to stash and add support for bitbucket in a separated pullrequest

@olblak

olblak commented Mar 20, 2023

Copy link
Copy Markdown
Member

I just noticed that you forgot to updfate the JSONSCHEMA function.

func (Config) JSONSchema() *jschema.Schema {

This function is used to generate the jonschema published on https://www.updatecli.io/schema/latest/config.json which is used by IDE('s) to provide auto-completion and documentation and also to generate parameter table on www.updatecli.io

Same for https://github.com/updatecli/updatecli/blob/9240f5a0db7026389fc8cb5d82b991cd1c97cb7c/pkg/core/pipeline/scm/config.go

@naimo84

naimo84 commented Mar 22, 2023

Copy link
Copy Markdown
Contributor Author

Hey,

I'm writing you from the Hospital... I will finish the PR when I'm back Home

Greets
Benjamin

@olblak

olblak commented Mar 22, 2023

Copy link
Copy Markdown
Member

Hey,

I'm writing you from the Hospital... I will finish the PR when I'm back Home

Greets
Benjamin

I hope everything is fine

@naimo84

naimo84 commented Mar 24, 2023

Copy link
Copy Markdown
Contributor Author

Yes 👍 nothing serious, but I've no connection to my work computer... 😁

@naimo84

naimo84 commented Mar 25, 2023

Copy link
Copy Markdown
Contributor Author

Hi 👋

I should rename bitbucket to bitbucketserver or stash.

Indeed to avoid the confusion. while I don't have strong opinion, I would rename bitbucket to stash and add support for bitbucket in a separated pullrequest

I've renamed it to stash ;)

I just noticed that you forgot to updfate the JSONSCHEMA function.

func (Config) JSONSchema() *jschema.Schema {

This function is used to generate the jonschema published on https://www.updatecli.io/schema/latest/config.json which is used by IDE('s) to provide auto-completion and documentation and also to generate parameter table on www.updatecli.io

Same for https://github.com/updatecli/updatecli/blob/9240f5a0db7026389fc8cb5d82b991cd1c97cb7c/pkg/core/pipeline/scm/config.go

Should be updated 👍

And I made a PR on the website's repo

Greets,
Benjamin

@naimo84 naimo84 closed this Mar 25, 2023
@naimo84

naimo84 commented Mar 26, 2023

Copy link
Copy Markdown
Contributor Author

Yeah, OK 👍 using git-filter-repo for rewriting the comitter was an bad idea. I Just wanted to change the author from my companies b.neumann@odav.de to my private one git@naimo84.dev 😁

I will do a clean fork, add my changed files, and make a new PR. If this OK for you? 👍

@olblak

olblak commented Mar 26, 2023

Copy link
Copy Markdown
Member

Yes +1 nothing serious, but I've no connection to my work computer... grin

Glad to hear that it wasn't serious

I will do a clean fork, add my changed files, and make a new PR. If this OK for you? +1

Of course it's fine, just for information I usually squash the pullrequest which result in one commit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.