it would be really great if you could add the chat messages from the session into the description of the video. That way we could access the links you are providing for people to follow. Thanks.
Hi @Luuuuuuuuuuuuuuuu, The code for that is not available yet for the 'labels' example. You can check out the other examples/reference apps we have here: bitbucket.org/atlassian/forge-bitbucket-dynamic-pipelines-reference-apps
Hi @user-qz7xx3xh9c, You can use the basic fetch client documented here to call an external api: developer.atlassian.com/platform/forge/runtime-reference/fetch-api.basic/ If authentication is required, you can use the headers option for that and use the required method (e.g. Basic for username/password based auth or Bearer for a token-based one). If OAuth 2.0 is required, you'll need to implement the External authentication as explained here: developer.atlassian.com/platform/forge/runtime-reference/external-fetch-api/ We have more information on this here www.atlassian.com/blog/developer/new-forge-external-authentication-makes-outbound-oauth-easy. This includes a video you can check out for a walkthrough of the setup.
Hmm, Is there a way to keep existing pipelines, and "include" a dynamic pipeline step within that 'locally handled' pipeline? If we have to throw away existing pipelines and go full dynamic, the dynamic pipelines are going to be HUGE and unwieldy to work with. (Because no two repos will have the same exact pipeline).
Hi @ChristoKiwi, yes, with Dynamic Pipelines you have the flexibility to add steps to each repository pipeline. The repository for the Dynamic Pipeline presented in the webinar (available here: bitbucket.org/atlassian/forge-bitbucket-dynamic-pipeline-add-a-step ) adds to a repo where this pipeline (bitbucket.org/atlassian/forge-bitbucket-dynamic-pipeline-add-a-step/src/main/test/bitbucket-pipelines.yml ) is configured the step defined in the addGitSecretScan function of the bitbucket.org/atlassian/forge-bitbucket-dynamic-pipeline-add-a-step/src/main/src/index.js file.
@@AtlassianDeveloper Do we have to script this kind of stuff? I would have thought our bitbucket-pipelines.yml file could simply have a line that imports the dynamic pipeline and then refer to it in a step.
@@AtlassianDeveloper Any chance we can import dynamic pipelines into standard pipeline bitbucket-pipelines.yml files and utilise them as a step without having to write JS loops and adding further logic to our repos? We have hundreds of repos and the idea of scripting JS loops into each one has us looking for alternatives
@ChristoKiwi This feature allows for much more flexibility which would be almost impossible to achieve via a simple reference in a step. It is also prone to errors as the repository admin of the "target repo" might not add the line to import the dynamic pipeline and this would lead to steps being missed. Developing an app to add a step is straightforward and should only take a few hours? Do you want to give it a try and let us know how it went? We also have a community here that is actively monitored for questions and feedback: community.atlassian.com/t5/Bitbucket-Cloud-x-Forge-EAP/gh-p/bitbucket-cloud-forge .
@ChristoKiwi To clarify, if every repository requires a certain step, the app only needs to be installed at the workspace level. There is no need to add the logic to each repository and the app will only be one and each repository would use it.
Thank you for sharing this @ChristoKiwi! We are glad this will bring actual value to you and your team. If you want to know more, we'll be posting another video in a few days. And we'll host another webinar next Month: ace.atlassian.com/events/details/atlassian-atlassian-developers-presents-reduce-pr-cycle-time-with-intelligent-cicd-using-dynamic-pipelines-forge-dev-den/
I'd really suggest improving your recording setup, specially the microphone, you see I don't talk English but I can understand most (like 95% or so) and it's extremely hard to understand this recording for two reasons, first you talk fast, more than people normally do (at least in other tutorial videos I watch) but ok, not a problem, however if you pair fast talk with bad/low quality audio then you make my life hard. Keep up the good work and buy a new mic please!
Thanks for your feedback @guilhermedossantossouzajun1249. We'll work on this. We also have a shorter version of this video (with just the demo part) available here: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-x_hUa-2-IZE.html Hopefully that's slower and clearer.
I'm afraid, product triggers have no influence to the current look and feel of the page nor there is any automatic re-render action. Anyway you have to press refresh, isn't it?
I want to build a bitbucket plugin where I apply review comments on a PR. How can I achieve this? And if I want to run a certain maven command on a PR, do I have to leverage my own f.e. jenkinspipeline to achieve this?
Hi Harold - unfortunately, RU-vid comments aren't great for doing things like linking to certain pages, so I'm adding a set of links at the bottom. - You can easily create comments against a pull request from a Forge app using the "Create pull request comment" endpoint. - As Forge apps cannot access Git commands (like clone, etc), any Maven commands would need to be done from inside a Pipeline. It is possible to have the output of that pipeline pushed back into Bitbucket Cloud and then allow a Forge app to read that output and use it for things like creating comments or blocking Pull Requests. One such way to do this is via Code Reports and Annotations. - Jenkins is one option for this, however you may find it difficult to push the data back into Bitbucket Cloud. We would suggest utilising Bitbucket Cloud's native Pipelines functionality instead, as that is already fully integrated with the product, making it much simpler to pass data back and forth. - Our next webinar will actually dive into exactly this kind of use-case. Links: - Create comment API: developer.atlassian.com/cloud/bitbucket/rest/api-group-pullrequests/#api-repositories-workspace-repo-slug-pullrequests-pull-request-id-comments-post - Code Reports API: developer.atlassian.com/cloud/bitbucket/rest/api-group-reports/#api-repositories-workspace-repo-slug-commit-commit-reports-reportid-put - Next webinar session: ace.atlassian.com/events/details/atlassian-atlassian-developers-presents-forge-dev-den-setting-up-bitbucket-custom-merge-checks-to-ensure-compliance/
@@edmundmunday2727 Thank you for your answer! Can I use Bitbucket Clouds native Pipelines functionality in an local environment? So I want to create an bitbucket plugin in an local environment and want to test it without purchasing something from bitbucket (bitbucket pipeline resources etc), because I want to create a plugin just for university purposes. I definiteliy need a pipeline for running maven commands on PR source code and pushing the result back du my forge app and write results based on the results. I hope it is clear for you what I mean by that :) ? Best regards
@@edmundmunday2727 thank you for your answer. Thank you for your answer. I understand the best way would be with Bitbucket Clouds native pipelines. Is it possible to implement my whole project locally using Bitbucket Clouds native pipelines without having to pay for it, so really just for local testing purposes. I plan to implement my project for university purposes and do not want to pay for pipeline resources as long as I develop it locally. Is this possible, or do I have to pay for pipeline resources in my local development as well?
Here is the post from developer community referenced in this talk - community.developer.atlassian.com/t/assets-forge-building-apps-to-supercharge-asset-management/75225
The biggest difference is that Forge apps run on infrastructure that Atlassian provisions, manages, and monitors. Connect apps are hosted by the developer. This guide outlines some of the differences: developer.atlassian.com/developer-guide/cloud-development-options/ We also recommend checking out these pages to learn more about the hosting and security differences: developer.atlassian.com/developer-guide/cloud-app-hosting/ developer.atlassian.com/developer-guide/cloud-shared-responsibility-model/ developer.atlassian.com/developer-guide/multitenancy/
Support for accepting JWTs in query strings will be removed after Feb 1st, 2022. Why you guys deprecate every new logic, even before people properly understand it. This video was good, but when I saw the above deprecation notice in the atlassian documentation, this video just looked like a waste of time. Please try to create a nicer documentation then changing technologies/logics.