Auto enable YAML Spec
Asked by Ross Crawford:

Is there a way to auto enable a repos yaml specs?

Having to submit a ticket to have an op enable the spec is.. not optimal

And TBH requiring people to write full java applications in order to run CI/CD tasks is.. substantially backwards in its thinking ;)


Answers:
author: Daniel Santos
body: Hi [@Ross Crawford](/t5/user/viewprofilepage/user-id/2100564)
> Is there a way to auto enable a repos yaml specs?
>
> Having to submit a ticket to have an op enable the spec is.. not optimal

The specs enable feature is only available for instance admins.  
As you know, the specs source repository is a repo that can create and update projects/plans/deployments in the whole Bamboo instance and therefore needs to be carefully set and approved.

How do you think this problem could be solved?  
I will be more than happy to open a feature request for you with your suggestion.
> And TBH requiring people to write full java applications in order to run CI/CD tasks is.. substantially backwards in its thinking ;)

The Bamboo team worked hard to provide two possible options for specs (YAML and Java). Java was added to allow more complex configurations. It has multiple advantages over YAML. The language provides autocompletion, the code can be validated even before sending it to Bamboo and other structures in the language like loops and decisions can be used to allow replicable scenarios.  

I agree that its learning curve is slower than YAML or other configuration models, but in the other hand it is very powerful. In order to simplify the learning curve you can always export a plan to Java specs and check how the code was generated.  

Please let me know your thoughts.  

I also want your ideas on the permission design in case you want me to create the feature request.

comments: author: Ross Crawford
body: Thanks for the response and the efforts behind i do appreciate it. Anything that sounds like a criticism is meant constructively  

1, it would be rad to enable specs as a granular permission perhaps as part of the restricted-admin which already exists (simple checkbox) because not all enterprise are restrictive and the assumption is you are using a CI tooll. to you know.. do CI and deploy? ;)

2. Yes this may be and im sure the hard yards have indeed been done, however considering gitlab, drone, concourseci, gaia, etc and just about all other ci tools out there do it very well without involving java it seems a little backwards. Also asking a node/python/go/rust/etc developer to now "learn java" (even tho there are helpers) is... not attractive and frankly not worth it, as now the dev must manage not just their app and the overheads there but must context switch to java just to run a deploy which makes many people scream out loud. YAML -while many dont like it, (as apparently they cant figure out ide plugins and whitespace management- frankly is declarative and absolutely fit-for purpose and now the de-facto standard for this kind of work ;) I really do hope atlassian invests more time into this problem as they are slipping behind and joining the long-tail.

Thanks again for your effort in response and I hope that suggestion at 1? is doable?

Best

Ross


author: Daniel Santos
body: Hi [@Ross Crawford](/t5/user/viewprofilepage/user-id/2100564)

Thank you for the direct and meaningful feedback we appreciate that. I'm working to deliver it to our development team and possibly get someone to comment on this thread (no promisses). I don't have expertise on other CI platforms therefore I'm not the best person to comment on your feedback.

Regarding the permissions, I just tested it and specs enable and scan details are available for a restricted admin. Do you still think it should have a different permission, more granular? I'm asking that to check if I should open the feature request for this.


author: Daniel Santos
body: Hi [@Ross Crawford](/t5/user/viewprofilepage/user-id/2100564)  

I'm in touch with the Bamboo product manager and the Bamboo team was coincidently talking about a possible implementation that could potentially solve this issue.   

The discussion was about a specs implementation in the project scope. This specs code would be only able to change plans in that project and therefore only need project permissions.  

The team would like to hear what you think about this approach. Would it solve the permissions limitation you are facing now?  

Your feedback is very much appreciated.  

<br />


author: Ross Crawford
body: Hi there,

Thanks for taking the time to respond and for contacting the project team. Yes, the potential of access and being able to work in the project spec would def be a step in the right direction.

Heres hoping

Regards

Ross


author: Daniel Santos
body: Hi [@Ross Crawford](/t5/user/viewprofilepage/user-id/2100564)  

It is good to know you consider this a step in the right direction. Our product manager already got your feedback.   

Thank you very much!