Comments (14)
@c33s I just opened a PR for subgroup support. Just a one-liner and I have been able to use gitlabform now to apply settings to all my projects that are stored in a subgroup.
from gitlabform.
Hey @andrei-abusan, unfortunately none of these things is possible as of now.
I believe that setting group visibility would be trivial to add and I can do that.
I don't think that we use subgroups so I would prefer to get a PR for this.
As for creating groups and projects: do you have a proposal for how it could be designed? I mean the config syntax and the flow, I would think of the implementation.
Using project name is something I have already been considering along with support for templates in files section, so this may be added pretty soon by us.
from gitlabform.
Hi @gdubicki thanks for the quick reply.
WRT creating groups and projects, I think it could actually work with existing syntax. If you specify a set of configuration for a group and said group doesn't exist, create it. If it does exist just update the settings for it. You would end up with blank configuration for all the projects you are creating but that can double as a readymade "overrides" section for said project if ever you want to add any. Possibly have a boolean to say whether to create if not present? So I would expect below to create the group and the project inside it with whatever settings gitlab is set to default to globally.
gitlab:
url: http://company.gitlab.com
token: "<token_here>"
group_settings:
'my_group': # common settings for ALL projects in this project group
project_settings:
'my_group/my_project':
'createIfNotPresent': true # flag to toggle feature if you think it's worth having
project_settings:
Great to hear that you were already considering templating and gathering information, I think that would significantly expand what can be done with the tool!
I'm still not sure if we will be using a hosted GitLab instance yet as we are still weighing pros and cons but if we do, this could be really useful in automating at least parts of our migration as well as leaving us in a better place with configuration as code and an automated system for creating projects. Cheers to you for making this and open-sourcing it!
from gitlabform.
Apart from that that you use camel case instead of underscore separator for the createIfNotPresent
key name, I like your design proposal, thanks. :)
However as we don't really need it for our purpose I will more likely work on other features/bugfixes now.
We are open to getting PRs with this though!
from gitlabform.
subgroups would be really important. happily installed python and gitlabform on my system only to see that subgroups are not supported :(
from gitlabform.
PR Enable support for subgroups #21
from gitlabform.
So as I was afraid, adding full subgroups support is not so easy. For now I was just going through array of groups and getting their projects. Now I have to switch to going through a tree of groups and their projects. And getting subgroups of a group has only been added in GitLab 10.3,
released yesterday (https://docs.gitlab.com/ce/api/groups.html#list-a-group-s-projects)...
To make your life easier @c33s @davidarcher @andrei-abusan , I have just released v.0.21.2 with a partial, unofficial subgroups support. If you define config for a subgroup and run gitlabform with ALL_DEFINED or this subgroup name your projects in this subgroup will be processed. But they WON'T be processed if you run it with ALL.
I will try to work on getting a full support for subgroups in the next few weeks but PRs for this are still very welcome.
from gitlabform.
This is a great missing feature. Do you think #51 could be a good approach? For me when using ALL
it list quite all our project (~100 are not listed, but there may have problems on our side those are archived
projects.)
from gitlabform.
No, @kumy , #51 is not enough.
But I think that it is time to finally add full subgroups support so I have started working on it in https://github.com/egnyte/gitlabform/pull/52/files .
from gitlabform.
1.8.0 with full subgroups support has been released today. Please let me know if it works for you. :)
from gitlabform.
1.9.0 with "set group visibility" (using group settings) has been released today.
from gitlabform.
Note to self: after adding (users,) groups and projects creation feature we need to update https://github.com/egnyte/gitlabform/blob/master/GT_VS_GLF.md#key-differences and the Google Sheet.
from gitlabform.
Should we close this and open individual issue if anything from this issue is still needed? It's labelled as feature request but original message is referring to multiple things and I'm not sure if all of them are appropriate.
from gitlabform.
Everything except the projects and groups creation is implemented, so sure, we can close this and create a new issue just for that. Thanks @amimas!
from gitlabform.
Related Issues (20)
- Migrate `integrations` feature to use python-gitlab library HOT 3
- Migrate `hooks` configuration feature to use python-gitlab library HOT 2
- Migrate `branches` configuration feature to use python-gitlab library HOT 1
- Migrate `files` configuration feature to python-gitlab library HOT 2
- Migrate project's `members` configuration feature to use python-gitlab library
- Migrate `resource_group` configuration feature to use python-gitlab library
- Migrate `schedules` configuration feature to use python-gitlab library
- Migrate `tags` configuration feature to use python-gitlab library HOT 1
- Migrate group's `group_members` configuration feature to use python-gitlab library HOT 1
- Change to protected_environment deploy_access_levels is not detected HOT 1
- Error while processing group sharing HOT 10
- Resource Groups - don't fail if key not exist HOT 10
- Use of expires_at in project members fails due to debug function HOT 4
- Project Transfer feature's few acceptance tests failing after GitLab 16.7 release HOT 2
- Add `enforce` support for `hooks` configuration HOT 3
- Add support for member_role_id HOT 7
- Is there a way to manage CI/CD settings at project level for "Keep artifacts from most recent successful jobs" using gitlab forms. HOT 3
- black formatting issue after upgrading markupsafe to version 2.1.4
- Entities marked as delete are remove and then added again when not present HOT 3
- 3.9.0 appears to break while setting a project webhook with a token HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gitlabform.