Skip to content

Releases: bodynar/mas-gitlabutility

v2.0

Choose a tag to compare

@bodynar bodynar released this 14 Jul 23:28

Changelog

New Features

  • Added Russian localization. The application language is determined by the selected installer.

  • Added project view modes for use in operations

image
  • Added dark theme
    The toggle is located under the menu
image
  • For operations involving branches, the ability to select specific branches from a predefined set has been added
image
  • Added parameter highlighting and validation before executing an operation
image image
  • Added tooltips for some UI elements (on hover)

  • Added the ability to clear "empty" sessions (sessions with no notifications or results)

  • Added operation progress indicator in the taskbar when the app is minimized
    This feature can be disabled in the app settings

image

Changes to Existing Functionality

  • Fixed a bug that allowed the application window to be scrolled during an ongoing operation/loading
  • Adjusted field headers, including those in application settings
  • Fixed a bug where the selected session was reset when opening a result card
  • Fixed a bug in the version tag shift operation
  • Improved display of the copy button for results presented as a list
  • Fixed a bug where an incorrect result card was opened when accessing different results for the same action under different operations from the notifications panel
  • Reworked the logging system to fix an issue where log files from the previous session could not be opened if they were from a different day
  • Improved visual presentation of the menu
  • Fixed typos and other minor issues

Translated via chat-gpt

Linux versions

To install the application on Linux:

  • Download the source code of the current release
  • Install dependencies using npm ci
  • Run one of the following commands:
    • npm run make -- --app-locale='en' --platform linux – for English localization
    • npm run make -- --app-locale='ru' --platform linux – for Russian localization

Alternatively, you can build the application using the preconfigured Docker image:
dolphincreatiodev/electron-win32-maker:latest

v1.1

Choose a tag to compare

@bodynar bodynar released this 20 Mar 20:56

Add new operations:

  • Remove branch
  • Close opened MR
  • Merge opened MR

Release v1.0.5

Choose a tag to compare

@bodynar bodynar released this 09 Feb 12:13

! NOTE
Screenshots for the instructions were taken at different stages of development, so functionality not described in a specific section may not match the final version.

Description

The repository management utility is designed to perform standard operations across multiple repositories. The following operations are supported:

  1. Directed branch merging (upstream\downstream) from a provided set.
  2. Release merging (merging from test to master with version tagging).
  3. Shifting the version tag to the latest commit in the master branch (including creating it).
  4. Creating a new branch.
  5. Checking for changes between two branches.
  6. Finding tags that are not on the latest commit in the master branch.

Usage Requirements

For branch merging operations, you need permissions to merge into the selected branch.

Initial Setup

Before using the utility, you need to generate a personal token, which will be used to perform operations.

The token is created in your GitLab profile (official documentation), and the token configuration is shown in the screenshot.

It is not recommended to create a token with an infinite expiration date. Set the expiration to six months or a year.

After creation, the token will be displayed on the page. You must save it, as it will not be possible to retrieve it again in the future (as mentioned in the field's hint).

Usage

Initial Setup

When the utility is launched for the first time, the settings page will open.
image

You need to switch it to edit mode by clicking the pencil icon button, fill in the GitLab token field (which was created earlier) as shown in the example below, and save the form.

After saving, the token and address will be validated. If the validation fails, an error will be displayed in the top right corner of the application.

Upon successful validation, the available groups will be loaded (3rd block on the application settings page). From this list, you need to select the groups on which actions will be performed (see the list of functions above). Repositories nested within the selected groups will be loaded automatically.

Page Descriptions

The application has 5 pages, accessible from the left menu block.
image

Results

This page will display the results of operations performed during a single application run.
image
Each entry in the list has an icon indicating the operation status, which you can hover over for an explanation.
image
Each log entry can be opened to view additional information about the operation.
image
The set of fields and display components varies depending on the type of operation performed, but a highlighted set of fields is presented for all operation types.

Notifications

This page serves as a log of the application's notification history.
image

If a notification contains a link to a page, it will also be clickable from this list.

Settings

The application settings page consists of three sections:
image

  • Connection to the GitLab server (covered in the "Initial Setup" section above).
  • Templates for operations, including templates for tag names, MRs, and MR releases. These can be customized if necessary, but using the standard templates is recommended.
  • Favorite groups – groups used for operations. To ensure the application functions correctly, at least one group must be selected.
Templates for operations aka Actions configuration (templates)

This section configures templates for header fields used in operations.
image

  • Tag Template allows setting a default value, which will be used in actions 2, 3, and 5. When selecting these actions, the value from this settings field will automatically populate the operation configuration field.
  • Stream Merge Template allows setting the MR name when merging branches in action 1. The template supports two parameters:
    • 0 – the name of the branch being merged (from).
    • 1 – the name of the target branch (to).
  • Release Merge Template allows setting the MR name when merging branches in action 2. The template supports one parameter:
    • The release version number.

Session history

The session history page. A session is created from the moment the application starts until it is closed.

It provides information about the current session and previous sessions.
image

You can view data from previous sessions on specific pages (e.g., Results).

If needed, session history can be cleared, which will remove all information about past sessions.

Main

The main page of the application. After initial setup, this page will automatically be displayed first when the application is opened.

The page contains a dropdown action menu, an action configuration block (hidden in the screenshot), and a tree-structured repository selection list.
image

The project (repository) selection block for performing operations includes a field for filtering repositories by name.

Additionally, when selecting an operation, three controls appear:

  • "Select all" button
  • "Deselect all" button
  • A checkbox to remember the selected set of repositories

When the checkbox is enabled, the selected projects will not be reset when navigating between pages.

Next, each operation available in the dropdown menu is described.
image

After selecting an action from the menu, a button labeled "Execute" appears on the right, which performs the selected operation.

Once the action parameters are configured and repositories are selected, the button becomes available.

After executing an operation, the result will be displayed as a popup notification in the top right corner of the application and recorded on the results page.

Operations

Operations marked with a blue pencil icon make changes in GitLab, so all parameters should be carefully reviewed before executing them.

Operations marked with a book icon are read-only and do not modify anything in GitLab.
image

  1. Merge branches
    This operation allows bulk merging of branches. The merge is performed in two steps: creating an MR and merging the MR.

    Operation parameters:

    • MR name (uses the value from the template), with selected branches inserted if applicable.
    • Specification of branches (which branch to merge into which).
      image

    After configuring the parameters and selecting repositories for the operation, click the execution button.

    If the merge is non-standard (e.g., master → develop) or targets the master branch, an additional checkbox appears to confirm the action, preventing execution until checked.
    image

  2. Make a release
    This operation merges the test branch into the master branch and, depending on the parameters, can assign a specified tag to the merge commit.
    image

  3. Move tag on master branch to latest commit
    This operation finds tags with the specified name that are not on the latest commit in the master branch and moves them to the latest commit.

    Additionally, if the checkbox is selected, a new tag can be created on the latest commit in the master branch.
    image

  4. Create a new branch
    This operation creates a new branch in the selected repositories, branching off from the specified base branch.
    image

  5. Check diff between branches
    This operation checks for differences between the specified branches.
    image

  6. Find tags not on the latest commit in the master branch
    This operation finds tags with the specified name that are not on the latest commit in the master branch.
    image

Operations 6 and 3 use the same mechanism for detecting "outdated" tags.

Translated via chat-gpt