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

Need improved documentation on how to configure zulipbot #120

Closed
3 tasks done
yanokwa opened this issue Aug 25, 2017 · 4 comments
Closed
3 tasks done

Need improved documentation on how to configure zulipbot #120

yanokwa opened this issue Aug 25, 2017 · 4 comments

Comments

@yanokwa
Copy link

yanokwa commented Aug 25, 2017

I would love to use zulipbot for an OSS project I maintain (Open Data Kit), but I it's unclear from usage what should go in src/config.js

I've reviewed src/zuplip_project_config.js for hints but only some of the keys make sense. Some of the questions that came up for me are:

  • What does repoEventsDelay do and what unit of time does it take?
  • Do priorityLabels have to exist first in my project before I add them?
  • Where do I get the webhookSecret from?

If this is all written somewhere, I'm glad to help document and send in a PR!


Steps for resolving issue

  • Update Installation docs
  • Refactor configuration file setup to object-tree-like structure on config branch and merge changes to master
  • Add Configuration docs

(added by @synicalsyntax)

@lonerz
Copy link
Member

lonerz commented Aug 26, 2017

@yanokwa thank you for your interest in zulipbot! I will try my best to answer these questions, but I'm sure @synicalsyntax will be able to elaborate on points I don't make clear at first.

For webhookSecret, that is the secret you can provide for the GitHub webhook you have to configure that sends payloads from GitHub to the zulipbot server. You can read more about it here.

You do not need priorityLabels. The only place we use that is in tools/fetchPriority (code). However, if you plan on using this tool, you will need those labels to exist in the project beforehand.

repoEventsDelay is a delay used for merge conflicts and removing assignees from an issue once an issue is closed. The reasons why we have this is because sometimes you'll accidentally close an issue, but don't actually want to, but then zulipbot would remove the assignees from the issue, so the delay comes in handy to make sure that it wasn't an accident.

Hopefully, this helps!

@lonerz
Copy link
Member

lonerz commented Aug 26, 2017

Also, I forgot to say that you can always talk to us on our chat. We are pretty quick to respond :)

@synicalsyntax
Copy link
Member

synicalsyntax commented Aug 26, 2017

Hello @yanokwa, thanks so much for your interest in our project! @lonerz has answered some of your questions well, but I would like to offer additional clarification and insight to this issue.

Currently, @zulipbot isn't in stable condition as a codebase yet (hence why there have been no releases to date); in fact, it's undergoing a large round of refactoring to its configuration file setup on this branch, mainly due to its disorganization. I hope that refactoring the structure into an object tree will clarify the relationships between each option and help users like you disable certain features by removing objects from the tree as opposed to deleting groups of options altogether.

However, we still encourage you to try out our project on your open source project! As you can see on the various Zulip repositories, @zulipbot is doing an amazing job of optimizing the Zulip GitHub workflow. You can deploy according to master branch, which is what we use in production.

To answer your questions about the configuration file (src/config.js):

  • repoEventsDelay represents a unit of time in minutes that we use to delay responses to certain events, exactly how Joshua explained.

  • priorityLabels was added to resolve to Priority label daily digest #94. It's completely unnecessary, given that @zulipbot currently does not act on any issues labeled as "priority" through GitHub yet (it was developed as part of our upcoming Zulip chat application integration).

  • webhookSecret is a secret token represented as a string that you use while configuring your GitHub webhooks to validate that requests are only coming from GitHub. GitHub Developer documentation provides a very good resource on this. I will be updating the Installation page accordingly to help you and future users not run into this issue anymore. :)

An old version of the Zulip project config also has brief descriptions of what each option is for; however, keep in mind that this is an outdated commit and some options have likely been removed or modified. Similarly, I will also be prioritizing work on adding a Configuration page so that all your other questions about configuring zulipbot will be answered.

Again, feel free to reach out to us on the zulipbot development community chat if you have any other questions! We're very responsive and look forward to additional feedback from you. Have a nice day! :)

@yanokwa
Copy link
Author

yanokwa commented Dec 29, 2017

Congrats on shipping the new config system, @synicalsyntax! Zulipbot has make working on Open Data Kit a lot easier and we really, really, really appreciate your hard work.

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

No branches or pull requests

3 participants