ChangelogExtractor

Struct ChangelogExtractor 

Source
pub struct ChangelogExtractor {
    pub changelog_file: String,
}
Expand description

Extracts the changelog text for a specific version to be used in the version description as release note

§Fields

  • changelog_file - The path to the changelog file

Fields§

§changelog_file: String

Path to the changelog file used to derive release notes.

Implementations§

Source§

impl ChangelogExtractor

Implementation of the ChangelogExtractor

Source

pub fn new(changelog_file: String) -> Self

Creates a new ChangelogExtractor

§Arguments
  • changelog_file - The path to the changelog file
§Returns
  • A new ChangelogExtractor
§Examples
use jirust_cli::utils::changelog_extractor::ChangelogExtractor;

let changelog_extractor = ChangelogExtractor::new("CHANGELOG.md".to_string());

assert_eq!(changelog_extractor.changelog_file, "CHANGELOG.md");
Source

pub fn extract_version_changelog(&self) -> Result<String, Box<dyn Error>>

Extracts the changelog text for a specific version to be used in the version description as release note The version changelog text is extracted from the changelog file using the notes between the first and second version headers in markdown “Keep a Changelog” changelog formatted file

§Returns
  • The version changelog text
§Errors
  • If the changelog file cannot be read or the version changelog text cannot be extracted
§Examples
use jirust_cli::utils::changelog_extractor::ChangelogExtractor;

let changelog_extractor = ChangelogExtractor::new("CHANGELOG.md".to_string());

let version_changelog_text = changelog_extractor.extract_version_changelog();
Source

pub fn extract_issues_from_changelog( &self, version_string: &String, project_key: &String, ) -> Result<Vec<String>, Box<dyn Error>>

Extracts the issues from the version changelog text The issues are extracted from the version changelog text using the project key and issue number

§Arguments
  • version_string - The version changelog text
  • project_key - The project key
§Returns
  • Result<Vec<String>, Box<dyn Error>> - The issues extracted from the version changelog text
§Examples
use jirust_cli::utils::changelog_extractor::ChangelogExtractor;

let changelog_extractor = ChangelogExtractor::new("CHANGELOG.md".to_string());

let version_changelog_text = changelog_extractor.extract_version_changelog();
let project_key = "JIR".to_string();
let issues = changelog_extractor.extract_issues_from_changelog(&version_changelog_text.unwrap(), &project_key);

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more