| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
| |
Closes: #1268
Change-Id: Ifc029c7058b080b3d9859eaffaa4b9febd2d80b1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change refactors how issue title changes from gitlab events are
detected, fixing an issue (due to upstream changing the format of the
event body from markdown-esque to html), and improving on error
handling.
The error boiled down to a change in the issue title format. Gitlab
changed this on April 17 2025 with the release of version 17.11 [0],
although the only place a reference to this change exists is in the
changelog [1], which is not linked to from the releases page.
To account for the potential future in which other fields need to be
parsed in this way, an internal parser library was introduced at
`//bridge/gitlab/parser:parser.go` with initial support for parsing
title change messages.
An issue was opened with the Gitlab team discussing the fact that this
was a breaking change [2]. This may lead to moving title changes (or
maybe all changes) to `resource_*_events`, which would likely provide a
smoother experience for our use case.
Debugging this issue surfaced a few pain points with this bridge:
- Errors are few and far between, and when they do exist and are
managed, they are often not propagated, often existing as simple
`fmt.Printf` calls
- Inconsistent and uninformative logging structure when there _are_
errors, leading to challenges in debugging unexpected behavior
- Fragility: we are parsing random text from event fields (for title
changes and more). This will likely lead to future breakage should
Gitlab change the format of other fields. Ideally, the gitlab SDK
would start classifying notes and have fields like `type`, `old`,
`new`... but this is unlikely to happen in the short term
[0]: https://about.gitlab.com/releases/2025/04/17/gitlab-17-11-released/
[1]:
https://gitlab.com/gitlab-org/gitlab/-/commit/b3e1fdcf45f8b18110a2f5217b9964a11616d316#ab09011fa121d0a2bb9fa4ca76094f2482b902b7_5_232
[2]: https://gitlab.com/gitlab-org/gitlab/-/issues/536827
Closes: #1367
Change-Id: I3bd7fa1c39a9e4dd2176d6e482e30ab68965f6e7
|
|
|
|
|
|
|
|
|
| |
CVE-2024-45337) (#1312)
To avoid CVE-2024-45337 ("Misuse of ServerConfig.PublicKeyCallback may
cause authorization bypass in golang.org/x/crypto")
Related is also moving from the abandoned github.com/xanzy/go-gitlab to
the maintained gitlab.com/gitlab-org/api/client-go.
|
|
|
| |
This will be useful for Board, and likely code review support later
|
|
|
|
|
|
|
|
| |
The repository was recently moved to the git-bug organization on github.
This change refactors references to the repository to ensure that they
use the updated owner URI.
Closes: #1243
Change-Id: I799712354c6ba25cdd8b06286275850c52efe6ff
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* build(deps): bump github.com/xanzy/go-gitlab from 0.90.0 to 0.106.0
Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.90.0 to 0.106.0.
- [Changelog](https://github.com/xanzy/go-gitlab/blob/main/releases_test.go)
- [Commits](https://github.com/xanzy/go-gitlab/compare/v0.90.0...v0.106.0)
---
updated-dependencies:
- dependency-name: github.com/xanzy/go-gitlab
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* migrate
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: 6543 <6543@obermui.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
=== Do not change lines below ===
{
"chain": [],
"cmd": "codespell -w",
"exit": 0,
"extra_inputs": [],
"inputs": [],
"outputs": [],
"pwd": "."
}
^^^ Do not change lines above ^^^
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
https://github.com/MichaelMure/git-bug/issues/653
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- reduce boilerplace necessary to implement an operation
- consolidate what an operation is in the core, which in turn pave the way for a generic cache layer mechanism
- avoid the previously complex unmarshalling process
- support operation metadata from the core
- simplified testing
|
| |
|
| |
|
|\
| |
| | |
[gitlab] Add new iterator with state change events
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Retrieving events is spread across various various Gitlab APIs. This
makes importing and sorting Gitlab events by time quite complicated.
This commit replaces the old iterators with a goroutine/channel-based
iterator, which merges the individual Gitlab API streams into a single
(sorted) event stream.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Bump github.com/xanzy/go-gitlab from 0.50.4 to 0.54.1
Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.50.4 to 0.54.1.
- [Release notes](https://github.com/xanzy/go-gitlab/releases)
- [Changelog](https://github.com/xanzy/go-gitlab/blob/master/releases_test.go)
- [Commits](https://github.com/xanzy/go-gitlab/compare/v0.50.4...v0.54.1)
---
updated-dependencies:
- dependency-name: github.com/xanzy/go-gitlab
dependency-type: direct:production
update-type: version-update:semver-minor
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: 6543 <6543@obermui.de>
|
| | |
|
| |
| |
| |
| |
| | |
Using path.Join() to concatenate URLs doesn't really make sense, and in
particular will change "//" to "/".
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.48.0 to 0.50.0.
- [Release notes](https://github.com/xanzy/go-gitlab/releases)
- [Changelog](https://github.com/xanzy/go-gitlab/blob/master/releases_test.go)
- [Commits](https://github.com/xanzy/go-gitlab/compare/v0.48.0...v0.50.0)
Signed-off-by: dependabot[bot] <support@github.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add option to skip the AvatarURL input request
Using an empty string for the avatar cli flag e.g. `git-bug user create
-a ""` will still result in a prompt. As the avatar URL is an optional
option, it should be possible to skip asking for it entirely.
Otherwise automated user creation via a script must make use of pipe hacks.
* Add global --non-interactive cmdline option
* Replace --skipAvatar for --non-interactive option
* Cmd BugAdd: respect non-interactive option
* Cmd bridge configure: respect non-interactive opt
* Cmd CommentAdd: respect non-interactive option
* Cmd CommentEdit: respect non-interactive option
* Cmd TermUI: respect non-interactive option
* Cmd TitleEdit: respect non-interactive option
* Remove global non-interactive option
* Cmd UserCreate: Use local non-interactive option
* Cmd BugAdd: Use local non-interactive option
* Cmd BridgeConfigure: Use local non-interactive option
* Cmd CommentAdd: Use local non-interactive option
* Cmd CommentEdit: Use local non-interactive option
* Cmd TermUI: Drop non-interactive option
It should be obviouse that the termui is an interactive command.
* Cmd TitleEdit: Use local non-interactive option
* Update docs
* Bridge GitHub: respect non-interactive option
* Bridge GitLab: respect non-interactive option
* Bridge Jira: respect non-interactive and token opt
* Fix failing compilation
* Bridge launchpad: respect non-interactive option
* bridge: isNonInteractive --> interactive
Co-authored-by: Michael Muré <batolettre@gmail.com>
|
|
|
|
| |
fix #630
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* build(deps): bump github.com/xanzy/go-gitlab from 0.33.0 to 0.38.2
* migrate
* refactor
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
- allow the creation of arbitrary Lamport clocks, freeing the way to new entities and removing Bug specific (upper layer) code.
- generalize the memory-only and persisted Lamport clocks behind a common interface
- rework the tests to provide reusable testing code for a Repo, a Clock, a Config, opening a path to add a new Repo implementation more easily
- test previously untested components with those new tests
Note: one problem found during this endeavor is that `identity.Version` also need to store one time + Lamport time for each other Entity (Bug, config, PR ...). This could possibly done without breaking change but it would be much easier to wait for https://github.com/MichaelMure/git-bug-migration to happen.
|
|
|
|
| |
This assume that the convertion from time.Time <--> Unix timestamp is lossless which seems to be.
|
|
|
|
| |
API call
|
|
|
|
| |
Notably, properly reset sub iterators when changing to the next issue
|
| |
|
| |
|
| |
|
|
|
|
| |
informational)
|
|\
| |
| | |
bridge: record the login used during the configure and use it as default credential
|