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

Feature Request: Enable repositorynotification api #23

Closed
snoby opened this issue Sep 28, 2017 · 4 comments
Closed

Feature Request: Enable repositorynotification api #23

snoby opened this issue Sep 28, 2017 · 4 comments

Comments

@snoby
Copy link

snoby commented Sep 28, 2017

It would be a great benefit if when using qucli if after i create my repository and add my users and robot accounts, if I could also add a webhook and the webhook destination through qucli. This can be accomplished with the

repositorynotification : List, create and manage repository events/notifications.

rest api.
Referenced from here: quay Rest Api

@koudaiii
Copy link
Owner

koudaiii commented Oct 1, 2017

Thank you for feature request. It's great idea 😄

I will check Quay Rest api.

ref https://docs.quay.io/api/swagger/#!/repositorynotification/createRepoNotification

NotificationCreateRequest {
  eventConfig (object): JSON config information for the specific event of notification,
  title (string, optional): The human-readable title of the notification,
  config (object): JSON config information for the specific method of notification,
  event (string): The event on which the notification will respond,
  method (string): The method of notification (such as email or web callback)
}

image

It is hard for me to understand NotificationCreateRequest type of values. 😢

@snoby
Copy link
Author

snoby commented Oct 1, 2017

Yes I agree - their API is not good when creating a webhook for a repository

I've created a ticket on their documentation repository: coreos/quay-docs#97

@koudaiii
Copy link
Owner

Released v0.6.5

$ brew update
$ brew upgrade qucli

https://github.com/koudaiii/qucli#get

$ qucli get koudaiii/test
Repository:
	quay.io/koudaiii/test
Visibility:
	private
Permissions:
	koudaiii(admin)
Notifications:
	b0736be9-f0eb-4c3c-8d33-2e331b1e5b0f	Some title	repo_push	map[]	slack	map[url:https://hooks.slack.com/service/some/token/here]

add-notification

Add notification in repository with some options.

  • webhook method
$ qucli add-notification koudaiii/test --event="repo_push" --method="webhook" --url="http://url/goes/here"
Added! 	3c3c142c-2161-42ae-9414-39c787386b5c		repo_push	map[]	webhook	map[url:http://url/goes/here]	in quay.io/koudaiii/test
  • slack method
$ qucli add-notification koudaiii/test --event="repo_push" --method="slack" --url="https://hooks.slack.com/service/{some}/{token}/{here}"
Added! 	61ae254f-89f0-4a36-a439-9b78004f2ab0		repo_push	map[]	slack	map[url:https://hooks.slack.com/service/{some}/{token}/{here}]	in quay.io/koudaiii/test
  • options
$ qucli add-notification
qucli supported only Quay.io
Usage: add-notification
  qucli add-notification koudaiii/qucli --event="repo_push" --method="webhook" --url="http://url/goes/here"

Option:
  --event string        set 'evnet'.  ['repo_push', 'build_queued', 'build_start', 'build_success', 'build_failure', 'build_cancelled', 'vulnerability_found'].
  --level string        if you use 'vulnerability_found' evnet, A vulnerability must have a severity of the chosen level (highest level is 0).[0-6]
  --ref string          if you use event excluding 'repo_push' event, an optional regular expression for matching the git branch or tag git ref. If left blank, the notification will fire for all builds.(refs/heads/somebranch)|(refs/tags/sometag)
  --method string       set 'method'.  ['webhook', 'slack', 'email'].
  --email string        if you use 'email' method, set E-mail address. 'test@example.com'.
  --url string          if you use 'webhook' or 'slack' method, set url. 'http://url/goes/here' or 'https://hooks.slack.com/service/{some}/{token}/{here}'.
  --title string        The title for a notification is an optional field for a human-readable title for the notification.

test-notification

https://github.com/koudaiii/qucli#test-notification

Test notification from repository.

$ qucli test-notification koudaiii/qucli 0c91e746-9d9e-4845-8dff-3c0995976dfa
Test Notification! 0c91e746-9d9e-4845-8dff-3c0995976dfa notification in quay.io/koudaiii/qucli

delete-notification

https://github.com/koudaiii/qucli#delete-notification

Delete notification from repository.

$ ./bin/qucli delete-notification koudaiii/test 3c3c142c-2161-42ae-9414-39c787386b5c
Deleted! 3c3c142c-2161-42ae-9414-39c787386b5c notification in quay.io/koudaiii/test

@snoby
Copy link
Author

snoby commented Oct 20, 2017

Justed tested the functionality and it works wonderfully!

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

No branches or pull requests

2 participants