Skip to content

Sync OWASP Slack Workspace Channels/Groups List #923

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

Closed
arkid15r opened this issue Feb 23, 2025 · 9 comments · Fixed by #1032
Closed

Sync OWASP Slack Workspace Channels/Groups List #923

arkid15r opened this issue Feb 23, 2025 · 9 comments · Fixed by #1032
Assignees

Comments

@arkid15r
Copy link
Collaborator

Overview:
Develop a Django management command for OWASP NestBot that syncs Slack channels and groups from the OWASP Slack workspace. The command will fetch data from Slack’s API and populate the Conversation model in the slack app.

Functionality:

  1. Retrieve Slack channels and groups: Use Slack’s conversations.list API to fetch a list of channels and groups.
  2. Implement pagination: Since Slack API responses are paginated, ensure the command retrieves all channels with a limit of 200 per request.
  3. Store or update channel records: Populate or update the Conversation model with information about each channel.
  4. Error handling and logging: Ensure the command handles potential errors (e.g., API issues) and logs the actions for visibility.

Expected Data Fields:
Each Slack channel object contains the following fields:

  • id → Stored as entity_id
  • created → Stored as created_at
  • name → Channel name
  • is_private → Boolean indicating if the channel is private
  • is_archived → Boolean indicating if the channel is archived
  • is_general → Boolean indicating if it’s the general channel
  • topic.value → The topic of the channel
  • purpose.value → The purpose of the channel
  • creator → Stored as creator_id, the ID of the user who created the channel

Considerations:

  • The command should be idempotent, meaning it should update existing records and avoid duplicating data.

Command Execution:
Run the command using the following:

python manage.py slack_sync_conversation_list

This task will ensure that all Slack channels and groups from the OWASP workspace are correctly synced into the Conversation model, keeping the records up-to-date with the latest information from Slack.

@github-project-automation github-project-automation bot moved this to Backlog in Project Nest Feb 23, 2025
@arkid15r arkid15r moved this from Backlog to In progress in Project Nest Feb 23, 2025
@space-techy
Copy link
Contributor

Okay Sirr!
I will start working on this!

@arkid15r
Copy link
Collaborator Author

arkid15r commented Mar 2, 2025

@space-techy any updates on this?

@space-techy
Copy link
Contributor

space-techy commented Mar 2, 2025

ya working on this!
My exams have started so its delayed a bit!
Will start working back on it by 8th March if you are comfortable?

@arkid15r
Copy link
Collaborator Author

arkid15r commented Mar 2, 2025

@space-techy this task's deadline is today, you have had it assigned for 7+ days. I can't guarantee someone else won't pick this up until you're back.

@space-techy
Copy link
Contributor

I am already halfway through it its just it needs little bit more work!
Will look into it after 8th march!

@Yashgupta9330
Copy link
Collaborator

@arkid15r, I would like to work on this issue. Could you please assign it to me? I don't have many other tasks at the moment

@space-techy
Copy link
Contributor

@Yashgupta9330 I know it may be rude from my side but I am already halfway through it!
Its just my exams are going on so I am delaying it till 8th March!
So please be kind to consider withdrawing?

@arkid15r
Copy link
Collaborator Author

arkid15r commented Mar 2, 2025

@space-techy don't worry, we have a lot of tasks to work on. Take care of your exams and let me know when you're ready.

@space-techy
Copy link
Contributor

okay

@github-project-automation github-project-automation bot moved this from In progress to Done in Project Nest May 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants