mariocj89 / dothub Goto Github PK
View Code? Open in Web Editor NEWStop managing your github config like a mere human
License: MIT License
Stop managing your github config like a mere human
License: MIT License
At the moment for dothub to work we need to connect to the dothub-bot account and accept the invitation to join organizations. That needs to be fixed!
It answers an 400 otherwise
Quite often repositories have configuration as files. .travis files as an example. This issue is to explore using dothub to create/update those
At the moment hooks are indexed by their name, but all web hooks have the name "web" which make them collide.
There are multiple ways to fix it:
Same applies to organization
At the moment renaming a label losses all the issues that were assigned to it, as it effectively deletes the existing and creates a new one.
Steps to reproduce:
Hi, thanks for this tool.
Is there a way to apply all changes without validation ? That way the tool could be run as a cron or a travis job easily.
If a section is not present it will appear as missing in the confirmation when updating the GitHub config. As optional means ignore now it should not appear in the diff
If an user changes an attribute of the configuration that does not send an event to the server and then it updates the config file their first action (if done via the web) will disappear.
To reproduce:
.dothub.repo.yml
file.dothub.repo.yml
fileAt the moment if no options or no hooks are specified it will remove all of them, we should change it so if a whole part of the config is not provided to be skipped. This is really useful for org.repos command as it allows to define organzation level configuration for a subset of the config onle
The tool should keep in sync manual changes to the repo/org configuration
Define a template to be applied to the new repos added to the organization so when you create a new repo a default configuration is applied
Before updating repo/organisation ask for user confirmation display the changes
The same way we pull/push an org configuration we should be able to do it for users.
Commands will be:
dothub pull <username>
dothub push <username
We can "shoe it" into an org but it is far from clean an ideal. A new object should be created in the same way orgs and repos are.
Warning: This is not a simple not quick issue, please reach out before starting if you pick this up.
Team configuration includes an attribute "id" which should not be exposed as creating a team will fail if the id is provided.
Whether we include ids or not it should be consolidated so it is consistent across the multiple objects with ids (example: labels don't expose ids in dothub)
At the moment because webhooks can have the key value token config with secret tokens we dont support them, we need a better approach
Create a plugin for Travis to allow users to keep their repositories up to date.
It needs to be check if the repo file changed, and if so, update the config file.
We need to find a way on how to keep the file up to date in case the settings are changed via the web.
At the moment dothub-web only works by inviting the user to the organization. This means that dothub cannot handle single repos nor repos within an user. We need to figure out how to workaround the issue.
def main():
logging.basicConfig(levle=logging.INFO, format="%(message)s")
conf = config.load_config()
cli.dothub(obj={}, default_map=conf)
levle
-> level
Could you also update PyPI as it's currently broken.
When the diff is presented, if you say "n" it will still perform the changes
At the moment the dothub push --bulk mariocj89/*
fails on users as it tries to hit http//api.github.com/orgs/mariocj89/repos instead of http//api.github.com/users/mariocj89/repos.
dothub should retrieve the repo list from the right url, detecting whether the owner is an org or an user.
Create a GitHub user for the tool and use it to do end to end testing. Add the user token to travis as an env var so it can run the tests.
A website that just gives the bot access to the org/repo so users can enable dothub clicking a link
The same way we can configure repos we should be able to configure organizations
Some users complain about the cli not being intuitive, study and consider adding a more intuitive approach like:
Retrieve configuration:
dothub pull org_name/repo_name
Update configuration:
dothub push org_name/repo_name
Retrieve configuration:
dothub pull org_name
Update configuration:
dothub push org_name
Update multiple repositories:
dothub push org_name/*
The * can be a gob pattern/regex to match multiple repositories
Additionally, use this change to stop "guessing" the git repo if provided as it can cause issues for some users even at tests time
Allow users to skip a field being retrieved from github. So if user don't want to display the description of repositories they can just list it as ignored.
A possible implementation is just to ignore the fields that are removed from the local config file.
At the moment, removing the description from dothub file gives the following output:
Pushing '.dothub.repo.yml' to 'dothub-sandbox/test-repo'
Changes:
- root['options']['description']
Apply changes? [Y/n]:
Even though the description is not updated
Document that:
Option to configure all repositories of an org. Should have an flag to override the repos that have a .dothub file
The web app files to update the file with a 404 being returned when an event is received an it attempts to sync the file
Basic up that just listens to github events
Consider using github integrations
At the moment writing new labels is not intuitive as it requires to write the colors using their hex code. See:
labels:
bug:
color: 000000
enhancement:
color: ff0000
Whilst some gifted minds are able to map those to common word colors normal humans prefer words like "red", "blue", etc.
This issue is to add support so the most common colors can be also specified as words. For ease of implementation, those will be also retrieved as a word at retrieve time. An option to dothub should be added in the future to deactivate this functionality.
The objective is to be able to configure the labels as:
labels:
bug:
color: black
enhancement:
color: red
At the moment configure is run whenever we run the app for the first time and it has some limitations like not being able to specify a custom github url to create the token.
Configure should be a command on its own and it should be possible to configure things like the github api as well for the token creation
The organization and repo needs to be passed every time the command is run and this can be inferred from the repo
At the moment the owner is named organizarion. But for user repos it makes no sense. It should be named owner instead
Allow users to set a webhook such that when they update their config files it updates automatically their repo configuration
Add a section for branch support.
Features that can be included are:
To be refined before actual implementation
Users can change the config file at will, we need a way to validate it
The current file is just a dev file. Either document how to use it via flask or just create a file to run it properly.
At the moment is just running the dev server.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.