diff --git a/content/english/blog/2022-01-25-why-you-should-have-the-habit-to-sign-all-your-git-commits.md b/content/english/blog/2022-01-25_why-you-should-have-the-habit-to-sign-all-your-git-commits.md similarity index 100% rename from content/english/blog/2022-01-25-why-you-should-have-the-habit-to-sign-all-your-git-commits.md rename to content/english/blog/2022-01-25_why-you-should-have-the-habit-to-sign-all-your-git-commits.md diff --git a/content/english/blog/2024-01-12_ b/content/english/blog/2024-01-12_ new file mode 100644 index 0000000..cd67d96 --- /dev/null +++ b/content/english/blog/2024-01-12_ @@ -0,0 +1,111 @@ +--- +title: "Improving Collaboration with Centralized GitHub Organizational Workflows" +date: 2024-01-12T17:00:00+00:00 +# watermark text +watermark: "Tech Blog" +# page header background image +page_header_image: "" +# Meta Description +description: "Explore how to centralize GitHub organizational workflows to enhance team collaboration and communication. Learn how to set up and manage team notifications across multiple repositories with ease." +# Post Image +image: "" # Note: Use an image that represents centralized workflows in GitHub or a schematic illustration of the GitHub Team Mention Notifier in action. +# Post Author +author: "Carlos Manuel Soares" +# Post Categories +categories: ["Developer Experience", "GitHub", "Workflow Automation", "Collaboration Tools"] +# Post Tags +tags: ["GitHub", "Centralized Workflows", "Team Collaboration", "Notification System", "Workflow Automation", "GitHub Actions", "Organizational Management", "GitHub Team Mention Notifier", "Efficiency", "Communication"] +# type +type: "post" +license: CC BY-NC 4.0 +comment: true +medium_repost_url: "" +--- + +## Introduction + +Effective collaboration in software development often hinges on clear communication channels. Especially in large organizations, the ability to promptly notify teams about mentions, assignments, or comments on GitHub is crucial. This post delves into creating centralized organizational workflows in GitHub, focusing on setting up an efficient notification system. We will use the GitHub Team Mention Notifier as our example, illustrating the process in a template setting. + +### (Image Placeholder: Visual Guide on GitHub Team Mention Notifier) +**Visual Representation**: A screenshot showing the GitHub Team Mention Notifier in action, highlighting its integration within a GitHub workflow. + +## Step 1: Centralized Workflows in GitHub + +Centralized workflows in GitHub allow you to manage actions across multiple repositories within an organization efficiently, providing consistency and control. + +### (Image Placeholder: Schematic Representation of Centralized Workflows) +**Visual Representation**: A schematic diagram from GitHub's documentation depicting the structure of centralized workflows, showing how they interconnect various repositories. + +## Step 2: Implementing GitHub Team Mention Notifier + +We’ll use the GitHub Team Mention Notifier as our example - a tool that notifies specified platforms when a team is mentioned or assigned in GitHub. + +### (Image Placeholder: Setup Process of GitHub Team Mention Notifier) +**Visual Representation**: A step-by-step setup process of the GitHub Team Mention Notifier, possibly using GitHub's user interface screenshots for clarity. + +## Step 3: Configuring the Workflow + +Set up a workflow in your repository. Here's a basic template: + +```yaml +name: Team Mention Notification +on: [push, pull_request] + +jobs: + notify_job: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Notify Teams + uses: cmpsoares/gh-team-mention-notifier@v1.0.22 + with: + config_path: 'notifications_config.json' + env: + WEBHOOK_URL_SECRET: ${{ secrets.WEBHOOK_URL_SECRET }} +``` + +### (Image Placeholder: Workflow File Example) +**Visual Representation**: A clear image of a sample workflow file in a GitHub repository, highlighting the specific lines of code used for configuration. + +## Step 4: Using Organization-Level Variables + +Organization-level variables can manage configurations centrally, enhancing workflow efficiency. + +### (Image Placeholder: Organization-Level Variables in GitHub) +**Visual Representation**: A screenshot from GitHub's documentation or user interface showing how to set up and use organization-level variables. + +#### Update Workflow with Organization Variable + +Modify your workflow file to incorporate the organization variable `ORG_NOTIFICATION_CONFIG`: + +```yaml +jobs: + notification_job: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Setup Configuration + run: | + echo "$ORG_NOTIFICATION_CONFIG" > .github/workflows/notifications_config.json + env: + ORG_NOTIFICATION_CONFIG: ${{ vars.ORG_NOTIFICATION_CONFIG }} + + - name: Notify Teams + uses: cmpsoares/gh-team-mention-notifier@latest + with: + config_path: '.github/workflows/notifications_config.json' +``` + +### (Image Placeholder: Workflow Using Organization Variable) +**Visual Representation**: A visual example of a GitHub Actions workflow incorporating the organization variable, highlighting the specific section where the variable is used. + +## Conclusion + +Centralized workflows in GitHub, especially with tools like the GitHub Team Mention Notifier, streamline communication across multiple repositories. These workflows offer a structured approach to managing notifications and collaborations within large organizations. + +### (Image Placeholder: Effective Team Collaboration Using Centralized Workflows) +**Visual Representation**: An engaging illustration or photo that encapsulates effective team collaboration facilitated by centralized workflows.