Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add bitbucket Server integration #10903

Closed
timabbott opened this issue Nov 28, 2018 · 9 comments
Closed

Add bitbucket Server integration #10903

timabbott opened this issue Nov 28, 2018 · 9 comments

Comments

@timabbott
Copy link
Sponsor Member

Apparently, Bitbucket Server's webhooks are neither the same as Bitbucket Cloud (our "bitbucket2" integration) or Bitbucket Enterprise (our "bitbucket" integration). It's crazy that Atlassian manages to have 3 different formats for one product, but in any case, we should build an integration to accept requests from it.

Unfortunately, Bitbucket Server's outgoing webhooks are poorly-designed, in that they don't contain the actual details about the commits (you have to callback to the server to get those).

There's two ways we can go about making this work:

  • Using the mechanisms we've developed for embedded bots (e.g. BotConfigData) for storing the BitBucket Server API credentials needed for the callback in a traditional Zulip webhooks.
  • Using a bouncer project that BitBucket Server posts to, does the request back to BitBucket server for the data, and then posts to Zulip. This could be a good approach if e.g. someone else has written one for use with another product.

I suspect the first option will end up being preferable, just because having an additional thing to deploy is no fun, but it likely also requires more design work.

@zulipbot
Copy link
Member

Hello @zulip/server-integrations members, this issue was labeled with the "area: integrations" label, so you may want to check it out!

@santherics
Copy link

Hello @timabbott !
We are really interested in this integration. Could you clarify, when the functionality is expected to be implemented, please?
Thank you in advance!

@timabbott
Copy link
Sponsor Member Author

@santherics should this be implemented, it would work just like our other ~10 integrations for Git tools, with the same formatting/etc. as the rest.

@kagibson
Copy link

Hi @timabbott my organization is also interested in this functionality. We would like to see it work the same as the other Bitbucket integration except for Bitbucket Server.

@sebi88
Copy link

sebi88 commented Feb 8, 2019

Here you can find the format sent by Bitbucket Enterprise:
https://confluence.atlassian.com/bitbucketserver/event-payload-938025882.html?utm_campaign=in-app-help&utm_medium=in-app-help&utm_source=stash#Eventpayload-repositoryevents

For example, the event key for pull request creation: pr:opened

and here you can find, what is sent by Bitbucket Cloud (what is already supported by Zulip):
https://confluence.atlassian.com/bitbucket/event-payloads-740262817.html#EventPayloads-Created.1

Here, the event key for pull request creation: pullrequest:created

@Hypro999
Copy link
Member

Hypro999 commented Apr 2, 2019

This feature should be completed with PR #11992

@Hypro999
Copy link
Member

Hypro999 commented Apr 4, 2019

For now it's been implemented much like any other webhook (zulip-writer).

@Hypro999
Copy link
Member

Hypro999 commented Apr 4, 2019

@timabbott Would we say that this issue can be closed or is there something else that we should implement (Like maybe #10907) before we can call the case closed?

@timabbott
Copy link
Sponsor Member Author

Yes, this was finished by #11992 and we can close.

I do think we should work on #10907, for improving this integration and other issues, but we now have an integration and so this issue can be closed.

I'd love feedback from the various users who posted on this thread; you can use upgrade-zulip-from-git to get the latest master including this new integration.

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

No branches or pull requests

6 participants